#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");
}
/* 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 */
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.",