X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3b53885f888f2539a533797e76a3f3ff84cdfe0c..3203ed1f4fb6f4617e94d5351661ba07e8b8f833:/src/simgrid/sg_config.c?ds=sidebyside diff --git a/src/simgrid/sg_config.c b/src/simgrid/sg_config.c index 84d49b5a73..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 @@ -615,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", @@ -640,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.",