total_load_exit += real_load;
if (opt::log_rate < 0)
return;
- if (opt::bookkeeping) {
- XBT_INFO("Final load after %d:%d iterations: %g ; expected: %g",
- lb_iter, comp_iter, real_load, expected_load);
- } else {
- XBT_INFO("Final load after %d:%d iterations: %g",
- lb_iter, comp_iter, real_load);
- }
+ XBT_INFO("Final load after %d:%d iterations: %g",
+ lb_iter, comp_iter, real_load);
+ XBT_VERB("Expected load was: %g", expected_load);
XBT_VERB("Total computation for this process: %g", comp);
}
int process::run()
{
- if (opt::log_rate >= 0)
+ if (opt::log_rate >= 0) {
XBT_INFO("Initial load: %g", real_load);
+ XBT_VERB("Initial expected load: %g", expected_load);
+ }
XBT_VERB("Starting...");
mutex.acquire();
lb_thread->start();
}
if (opt::log_rate && lb_iter % opt::log_rate == 0) {
- if (opt::bookkeeping)
- XBT_INFO("(%u:%u) current load: %g ; expected: %g",
- lb_iter, comp_iter, real_load, expected_load);
- else
- XBT_INFO("(%u:%u) current load: %g",
- lb_iter, comp_iter, real_load);
+ XBT_INFO("(%u:%u) current load: %g", lb_iter, comp_iter, real_load);
+ XBT_VERB("... expected load: %g", expected_load);
}
if (get_load() > 0.0)
nb.set_load(nb.get_load() + amount);
}
-#define print_loads_generic(vec, verbose, logp, cat) \
- if (_XBT_LOG_ISENABLEDV((*cat), logp)) { \
- using std::tr1::bind; \
- using std::tr1::placeholders::_1; \
- XBT_XCLOG(cat, logp, "Neighbor loads:"); \
- std::for_each(vec.begin(), vec.end(), \
- bind(&neighbor::print, _1, verbose, logp, cat)); \
- } else ((void)0)
-
-void process::print_loads(bool verbose,
- e_xbt_log_priority_t logp,
- xbt_log_category_t cat) const
-{
- print_loads_generic(neigh, verbose, logp, cat);
-}
-
-void process::print_loads_p(bool verbose,
- e_xbt_log_priority_t logp,
- xbt_log_category_t cat) const
-{
- print_loads_generic(pneigh, verbose, logp, cat);
-}
-
-#undef print_loads_generic
-
void process::ctrl_send(neighbor& nb)
{
double info_to_send = get_load();
delete msg;
}
+#define print_loads_generic(vec, verbose, logp, cat) \
+ if (_XBT_LOG_ISENABLEDV((*cat), logp)) { \
+ using std::tr1::bind; \
+ using std::tr1::placeholders::_1; \
+ XBT_XCLOG(cat, logp, "My load: %g (real); %g (expected). " \
+ "Neighbor loads:", real_load, expected_load); \
+ std::for_each(vec.begin(), vec.end(), \
+ bind(&neighbor::print, _1, verbose, logp, cat)); \
+ } else ((void)0)
+
+void process::print_loads(bool verbose,
+ e_xbt_log_priority_t logp,
+ xbt_log_category_t cat) const
+{
+ print_loads_generic(neigh, verbose, logp, cat);
+}
+
+void process::print_loads_p(bool verbose,
+ e_xbt_log_priority_t logp,
+ xbt_log_category_t cat) const
+{
+ print_loads_generic(pneigh, verbose, logp, cat);
+}
+
+#undef print_loads_generic
+
// Local variables:
// mode: c++
// End: