X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f4ed74ca6d4a744d2956a4f2906c897e1886cefd..8477291df42541085fa7c670fd39ba16dfa8860e:/src/simgrid/sg_config.c diff --git a/src/simgrid/sg_config.c b/src/simgrid/sg_config.c index 6bfc5c7da3..624b6d8b21 100644 --- a/src/simgrid/sg_config.c +++ b/src/simgrid/sg_config.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2009-2010, 2012-2014. The SimGrid Team. +/* Copyright (c) 2009-2010, 2012-2015. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -18,11 +18,13 @@ #include "instr/instr_interface.h" #include "simgrid/simix.h" #include "simgrid/sg_config.h" +#ifdef HAVE_SMPI #include "smpi/smpi_interface.h" +#endif #include "mc/mc.h" -#include "mc/mc_record.h" +#include "src/mc/mc_record.h" #include "simgrid/instr.h" -#include "mc/mc_replay.h" +#include "src/mc/mc_replay.h" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_config, surf, "About the configuration of simgrid"); @@ -365,7 +367,7 @@ static void _sg_cfg_cb__surf_path(const char *name, int pos) } /* callback to decide if we want to use the model-checking */ -#include "xbt_modinter.h" +#include "src/xbt_modinter.h" #ifdef HAVE_MC extern int _sg_do_model_check; /* this variable lives in xbt_main until I find a right location for it */ @@ -377,17 +379,6 @@ static void _sg_cfg_cb_model_check_replay(const char *name, int pos) MC_record_path = xbt_cfg_get_string(_sg_cfg_set, name); } -static void _sg_cfg_cb_model_check(const char *name, int pos) -{ -#ifdef HAVE_MC - _sg_do_model_check = xbt_cfg_get_boolean(_sg_cfg_set, name); -#else - if (xbt_cfg_get_boolean(_sg_cfg_set, name)) { - xbt_die("You tried to activate the model-checking from the command line, but it was not compiled in. Change your settings in cmake, recompile and try again"); - } -#endif -} - static void _sg_cfg_cb_model_check_record(const char *name, int pos) { #ifdef HAVE_MC @@ -480,18 +471,6 @@ static void _sg_cfg_cb__surf_network_crosstraffic(const char *name, sg_network_crosstraffic = xbt_cfg_get_boolean(_sg_cfg_set, name); } -#ifdef HAVE_GTNETS -static void _sg_cfg_cb__gtnets_jitter(const char *name, int pos) -{ - sg_gtnets_jitter = xbt_cfg_get_double(_sg_cfg_set, name); -} - -static void _sg_cfg_cb__gtnets_jitter_seed(const char *name, int pos) -{ - sg_gtnets_jitter_seed = xbt_cfg_get_int(_sg_cfg_set, name); -} -#endif - /* build description line with possible values */ static void describe_model(char *result, const s_surf_model_description_t model_description[], @@ -627,12 +606,6 @@ void sg_config_init(int *argc, char **argv) xbt_cfgelm_string, 0, 1, _sg_cfg_cb_model_check_replay, NULL); #ifdef HAVE_MC - /* do model-checking */ - xbt_cfg_register(&_sg_cfg_set, "model-check", - "Verify the system through model-checking instead of simulating it (EXPERIMENTAL)", - xbt_cfgelm_boolean, 1, 1, _sg_cfg_cb_model_check, NULL); - xbt_cfg_setdefault_boolean(_sg_cfg_set, "model-check", "no"); - /* do model-checking-record */ xbt_cfg_register(&_sg_cfg_set, "model-check/record", "Record the model-checking paths", @@ -652,6 +625,17 @@ void sg_config_init(int *argc, char **argv) xbt_cfgelm_boolean, 1, 1, _mc_cfg_cb_sparse_checkpoint, NULL); xbt_cfg_setdefault_boolean(_sg_cfg_set, "model-check/sparse-checkpoint", "no"); + /* do stateful model-checking */ + xbt_cfg_register(&_sg_cfg_set, "model-check/soft-dirty", + "Use sparse per-page snapshots.", + xbt_cfgelm_boolean, 1, 1, _mc_cfg_cb_soft_dirty, NULL); + xbt_cfg_setdefault_boolean(_sg_cfg_set, "model-check/soft-dirty", "no"); + + xbt_cfg_register(&_sg_cfg_set, "model-check/ksm", + "Kernel same-page merging", + xbt_cfgelm_boolean, 1, 1, _mc_cfg_cb_ksm, NULL); + xbt_cfg_setdefault_boolean(_sg_cfg_set, "model-check/ksm", "no"); + /* do liveness model-checking */ xbt_cfg_register(&_sg_cfg_set, "model-check/property", "Specify the name of the file containing the property. It must be the result of the ltl2ba program.", @@ -799,17 +783,6 @@ void sg_config_init(int *argc, char **argv) xbt_cfgelm_boolean, 1, 1, _sg_cfg_cb__surf_network_crosstraffic, NULL); xbt_cfg_setdefault_boolean(_sg_cfg_set, "network/crosstraffic", "no"); -#ifdef HAVE_GTNETS - xbt_cfg_register(&_sg_cfg_set, "gtnets/jitter", - "Double value to oscillate the link latency, uniformly in random interval [-latency*gtnets_jitter,latency*gtnets_jitter)", - xbt_cfgelm_double, 1, 1, _sg_cfg_cb__gtnets_jitter, NULL); - xbt_cfg_setdefault_double(_sg_cfg_set, "gtnets/jitter", 0.0); - - xbt_cfg_register(&_sg_cfg_set, "gtnets/jitter_seed", - "Use a positive seed to reproduce jitted results, value must be in [1,1e8], default is 10", - xbt_cfgelm_int, 0, 1, _sg_cfg_cb__gtnets_jitter_seed, NULL); - xbt_cfg_setdefault_int(_sg_cfg_set, "gtnets/jitter_seed", 10); -#endif #ifdef HAVE_NS3 xbt_cfg_register(&_sg_cfg_set, "ns3/TcpModel", "The ns3 tcp model can be : NewReno or Reno or Tahoe",