A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
Merge branch 'coverity_scan' of github.com:mquinson/simgrid
[simgrid.git]
/
src
/
surf
/
network_cm02.cpp
diff --git
a/src/surf/network_cm02.cpp
b/src/surf/network_cm02.cpp
index
c19dbfd
..
6915a08
100644
(file)
--- a/
src/surf/network_cm02.cpp
+++ b/
src/surf/network_cm02.cpp
@@
-29,9
+29,6
@@
void net_define_callbacks(void)
{
/* Figuring out the network links */
simgrid::surf::on_link.connect(netlink_parse_init);
- simgrid::surf::on_postparse.connect([]() {
- surf_network_model->addTraces();
- });
}
/*********
@@
-161,8
+158,7
@@
NetworkCm02Model::NetworkCm02Model()
:NetworkModel()
{
char *optim = xbt_cfg_get_string(_sg_cfg_set, "network/optim");
- int select =
- xbt_cfg_get_boolean(_sg_cfg_set, "network/maxmin_selective_update");
+ int select = xbt_cfg_get_boolean(_sg_cfg_set, "network/maxmin_selective_update");
if (!strcmp(optim, "Full")) {
p_updateMechanism = UM_FULL;
@@
-177,7
+173,7
@@
NetworkCm02Model::NetworkCm02Model()
}
if (!p_maxminSystem)
- p_maxminSystem = lmm_system_new(m_selectiveUpdate);
+
p_maxminSystem = lmm_system_new(m_selectiveUpdate);
routing_model_create(createLink("__loopback__",
498000000, NULL, 0.000015, NULL,
@@
-348,12
+344,12
@@
Action *NetworkCm02Model::communicate(NetCard *src, NetCard *dst,
xbt_dynar_t route = xbt_dynar_new(sizeof(NetCard*), NULL);
- XBT_IN("(%s,%s,%g,%g)", src->
getName(), dst->getN
ame(), size, rate);
+ XBT_IN("(%s,%s,%g,%g)", src->
name(), dst->n
ame(), size, rate);
routing_platf->getRouteAndLatency(src, dst, &route, &latency);
xbt_assert(!xbt_dynar_is_empty(route) || latency,
"You're trying to send data from %s to %s but there is no connecting path between these two hosts.",
- src->
getName(), dst->getN
ame());
+ src->
name(), dst->n
ame());
xbt_dynar_foreach(route, i, _link) {
link = static_cast<NetworkCm02Link*>(_link);
@@
-410,7
+406,7
@@
Action *NetworkCm02Model::communicate(NetCard *src, NetCard *dst,
link = *static_cast<NetworkCm02Link **>(xbt_dynar_get_ptr(route, 0));
gapAppend(size, link, action);
XBT_DEBUG("Comm %p: %s -> %s gap=%f (lat=%f)",
- action, src->
getName(), dst->getN
ame(), action->m_senderGap,
+ action, src->
name(), dst->n
ame(), action->m_senderGap,
action->m_latency);
}
@@
-457,56
+453,6
@@
Action *NetworkCm02Model::communicate(NetCard *src, NetCard *dst,
return action;
}
-void NetworkCm02Model::addTraces(){
- xbt_dict_cursor_t cursor = NULL;
- char *trace_name, *elm;
-
- static int called = 0;
- if (called)
- return;
- called = 1;
-
- /* connect all traces relative to network */
- xbt_dict_foreach(trace_connect_list_link_avail, cursor, trace_name, elm) {
- tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- NetworkCm02Link *link = static_cast<NetworkCm02Link*>( Link::byName(elm) );
-
- xbt_assert(link, "Cannot connect trace %s to link %s: link undefined",
- trace_name, elm);
- xbt_assert(trace,
- "Cannot connect trace %s to link %s: trace undefined",
- trace_name, elm);
-
- link->m_stateEvent = future_evt_set->add_trace(trace, 0.0, link);
- }
-
- xbt_dict_foreach(trace_connect_list_link_bw, cursor, trace_name, elm) {
- tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- NetworkCm02Link *link = static_cast<NetworkCm02Link*>( Link::byName(elm) );
-
- xbt_assert(link, "Cannot connect trace %s to link %s: link undefined",
- trace_name, elm);
- xbt_assert(trace,
- "Cannot connect trace %s to link %s: trace undefined",
- trace_name, elm);
-
- link->m_bandwidth.event = future_evt_set->add_trace(trace, 0.0, link);
- }
-
- xbt_dict_foreach(trace_connect_list_link_lat, cursor, trace_name, elm) {
- tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- NetworkCm02Link *link = static_cast<NetworkCm02Link*>(Link::byName(elm));;
-
- xbt_assert(link, "Cannot connect trace %s to link %s: link undefined",
- trace_name, elm);
- xbt_assert(trace,
- "Cannot connect trace %s to link %s: trace undefined",
- trace_name, elm);
-
- link->m_latency.event = future_evt_set->add_trace(trace, 0.0, link);
- }
-}
-
/************
* Resource *
************/
@@
-549,9
+495,11
@@
void NetworkCm02Link::apply_event(tmgr_trace_iterator_t triggered, double value)
if (triggered == m_bandwidth.event) {
updateBandwidth(value);
tmgr_trace_event_unref(&m_bandwidth.event);
+
} else if (triggered == m_latency.event) {
updateLatency(value);
tmgr_trace_event_unref(&m_latency.event);
+
} else if (triggered == m_stateEvent) {
if (value > 0)
turnOn();