-/* Copyright (c) 2009-2010, 2012-2017. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2009-2018. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
-/* sg_config: configuration infrastructure for the simulation world */
+/* sg_config: configuration infrastructure for the simulation world */
-#include "simgrid/sg_config.h"
-#include "instr/instr_interface.h"
+#include "simgrid/sg_config.hpp"
+#include "instr/instr_interface.hpp"
#include "mc/mc.h"
#include "simgrid/instr.h"
-#include "simgrid/simix.h"
-#include "simgrid_config.h" /* what was compiled in? */
-#include "src/mc/mc_replay.h"
+#include "src/internal_config.h"
+#include "src/kernel/lmm/maxmin.hpp"
+#include "src/mc/mc_replay.hpp"
#include "src/surf/surf_interface.hpp"
-#include "surf/maxmin.hpp"
-#include "surf/surf.h"
+#include "surf/surf.hpp"
#include "xbt/config.h"
#include "xbt/config.hpp"
-#include "xbt/log.h"
-#include "xbt/mallocator.h"
-#include "xbt/misc.h"
-#include "xbt/sysdep.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_config, surf, "About the configuration of SimGrid");
}
}
-static void _sg_cfg_cb__surf_network_crosstraffic(const char *name)
-{
- sg_network_crosstraffic = xbt_cfg_get_boolean(name);
-}
-
/* build description line with possible values */
static void describe_model(char *result,int resultsize,
const s_surf_model_description_t model_description[],
describe_model(description, descsize, surf_cpu_model_description, "model", "The model to use for the CPU");
xbt_cfg_register_string("cpu/model", "Cas01", &_sg_cfg_cb__cpu_model, description);
- describe_model(description, descsize, surf_optimization_mode_description, "optimization mode",
- "The optimization modes to use for the CPU");
- xbt_cfg_register_string("cpu/optim", "Lazy", &_sg_cfg_cb__optimization_mode, description);
-
describe_model(description, descsize, surf_storage_model_description, "model", "The model to use for the storage");
xbt_cfg_register_string("storage/model", "default", &_sg_cfg_cb__storage_mode, description);
describe_model(description, descsize, surf_host_model_description, "model", "The model to use for the host");
xbt_cfg_register_string("host/model", "default", &_sg_cfg_cb__host_model, description);
- sg_tcp_gamma = 4194304.0;
- simgrid::config::bindFlag(sg_tcp_gamma, {"network/TCP-gamma", "network/TCP_gamma"},
- "Size of the biggest TCP window (cat /proc/sys/net/ipv4/tcp_[rw]mem for recv/send window; "
- "Use the last given value, which is the max window size)");
-
simgrid::config::bindFlag(sg_surf_precision, "surf/precision",
"Numerical precision used when updating simulation times (in seconds)");
xbt_cfg_register_boolean("cpu/maxmin-selective-update", "no", nullptr, "Update the constraint set propagating "
"recursively to others constraints (off by "
- "default when optim is set to lazy)");
+ "default unless optim is set to lazy)");
xbt_cfg_register_alias("cpu/maxmin-selective-update", "cpu/maxmin_selective_update");
xbt_cfg_register_boolean("network/maxmin-selective-update", "no", nullptr, "Update the constraint set propagating "
"recursively to others constraints (off "
- "by default when optim is set to lazy)");
+ "by default unless optim is set to lazy)");
xbt_cfg_register_alias("network/maxmin-selective-update", "network/maxmin_selective_update");
/* Replay (this part is enabled even if MC it disabled) */
xbt_cfg_register_string("model-check/replay", nullptr, _sg_cfg_cb_model_check_replay,
"Synchronization mode to use when running contexts in parallel (either futex, posix or busy_wait)");
#endif
- xbt_cfg_register_boolean("network/crosstraffic", "yes", _sg_cfg_cb__surf_network_crosstraffic,
- "Activate the interferences between uploads and downloads for fluid max-min models (LV08, CM02)");
-
// For smpi/bw-factor and smpi/lat-factor
// SMPI model can be used without enable_smpi, so keep this out of the ifdef.
xbt_cfg_register_string("smpi/bw-factor",
"Whether to cleanup SimGrid at exit. Disable it if your code segfaults after its end.");
xbt_cfg_register_alias("clean-atexit","clean_atexit");
- if (surf_path.empty()) {
- /* retrieves the current directory of the current process */
- const char *initial_path = __surf_get_initial_path();
- xbt_assert((initial_path), "__surf_get_initial_path() failed! Can't resolve current Windows directory");
-
- xbt_cfg_setdefault_string("path", initial_path);
- }
+ if (surf_path.empty())
+ xbt_cfg_setdefault_string("path", "./");
_sg_cfg_init_status = 1;