X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d97d6e19cb366fd112e63d56a9f411d968ee8670..8465282253954c58d16cb5dae9a5d064eada3329:/src/simgrid/sg_config.c diff --git a/src/simgrid/sg_config.c b/src/simgrid/sg_config.c index 0ff07a2b98..8ab8535a10 100644 --- a/src/simgrid/sg_config.c +++ b/src/simgrid/sg_config.c @@ -83,7 +83,7 @@ static void sg_config_cmd_line(int *argc, char **argv) } else if (!strcmp(argv[i], "--help-models")) { int k; - model_help("workstation", surf_workstation_model_description); + model_help("host", surf_host_model_description); printf("\n"); model_help("CPU", surf_cpu_model_description); printf("\n"); @@ -131,8 +131,8 @@ static void _sg_cfg_cb__plugin(const char *name, int pos) surf_plugin_description[plugin_id].model_init_preparse(); } -/* callback of the workstation/model variable */ -static void _sg_cfg_cb__workstation_model(const char *name, int pos) +/* callback of the host/model variable */ +static void _sg_cfg_cb__host_model(const char *name, int pos) { char *val; @@ -142,16 +142,16 @@ static void _sg_cfg_cb__workstation_model(const char *name, int pos) val = xbt_cfg_get_string(_sg_cfg_set, name); if (!strcmp(val, "help")) { - model_help("workstation", surf_workstation_model_description); + model_help("host", surf_host_model_description); sg_cfg_exit_early(); } /* Make sure that the model exists */ - find_model_description(surf_workstation_model_description, val); + find_model_description(surf_host_model_description, val); } -/* callback of the vm_workstation/model variable */ -static void _sg_cfg_cb__vm_workstation_model(const char *name, int pos) +/* callback of the vm/model variable */ +static void _sg_cfg_cb__vm_model(const char *name, int pos) { char *val; @@ -161,12 +161,12 @@ static void _sg_cfg_cb__vm_workstation_model(const char *name, int pos) val = xbt_cfg_get_string(_sg_cfg_set, name); if (!strcmp(val, "help")) { - model_help("vm_workstation", surf_vm_workstation_model_description); + model_help("vm", surf_vm_model_description); sg_cfg_exit_early(); } /* Make sure that the model exists */ - find_model_description(surf_vm_workstation_model_description, val); + find_model_description(surf_vm_model_description, val); } /* callback of the cpu/model variable */ @@ -226,7 +226,7 @@ static void _sg_cfg_cb__storage_mode(const char *name, int pos) find_model_description(surf_storage_model_description, val); } -/* callback of the workstation_model variable */ +/* callback of the network_model variable */ static void _sg_cfg_cb__network_model(const char *name, int pos) { char *val; @@ -553,17 +553,17 @@ void sg_config_init(int *argc, char **argv) xbt_cfgelm_string, 1, 1, &_sg_cfg_cb__optimization_mode, NULL); xbt_cfg_setdefault_string(_sg_cfg_set, "network/optim", "Lazy"); - describe_model(description, surf_workstation_model_description, - "model", "The model to use for the workstation"); - xbt_cfg_register(&_sg_cfg_set, "workstation/model", description, - xbt_cfgelm_string, 1, 1, &_sg_cfg_cb__workstation_model, NULL); - xbt_cfg_setdefault_string(_sg_cfg_set, "workstation/model", "default"); + describe_model(description, surf_host_model_description, + "model", "The model to use for the host"); + xbt_cfg_register(&_sg_cfg_set, "host/model", description, + xbt_cfgelm_string, 1, 1, &_sg_cfg_cb__host_model, NULL); + xbt_cfg_setdefault_string(_sg_cfg_set, "host/model", "default"); - describe_model(description, surf_vm_workstation_model_description, - "model", "The model to use for the vm workstation"); - xbt_cfg_register(&_sg_cfg_set, "vm_workstation/model", description, - xbt_cfgelm_string, 1, 1, &_sg_cfg_cb__vm_workstation_model, NULL); - xbt_cfg_setdefault_string(_sg_cfg_set, "vm_workstation/model", "default"); + describe_model(description, surf_vm_model_description, + "model", "The model to use for the vm"); + xbt_cfg_register(&_sg_cfg_set, "vm/model", description, + xbt_cfgelm_string, 1, 1, &_sg_cfg_cb__vm_model, NULL); + xbt_cfg_setdefault_string(_sg_cfg_set, "vm/model", "default"); xbt_cfg_register(&_sg_cfg_set, "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)", @@ -650,12 +650,6 @@ 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"); - /* 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.", @@ -693,6 +687,7 @@ void sg_config_init(int *argc, char **argv) xbt_cfg_setdefault_boolean(_sg_cfg_set, "model-check/hash", "no"); /* Set max depth exploration */ + /* Currently, this option cannot be used. */ xbt_cfg_register(&_sg_cfg_set, "model-check/snapshot_fds", "Whether file descriptors must be snapshoted", xbt_cfgelm_boolean, 1, 1, _mc_cfg_cb_snapshot_fds, NULL); @@ -962,6 +957,11 @@ void sg_config_init(int *argc, char **argv) xbt_cfgelm_string, 0, 1, &_sg_cfg_cb__coll_reduce, NULL); #endif // HAVE_SMPI + xbt_cfg_register(&_sg_cfg_set, "exception/cutpath", + "\"yes\" or \"no\". \"yes\" will cut all path information from call traces, used e.g. in exceptions.", + xbt_cfgelm_boolean, 1, 1, NULL, NULL); + xbt_cfg_setdefault_boolean(_sg_cfg_set, "exception/cutpath", "no"); + xbt_cfg_register(&_sg_cfg_set, "clean_atexit", "\"yes\" or \"no\". \"yes\" enables all the cleanups of SimGrid (XBT,SIMIX,MSG) to be registered with atexit. \"no\" may be useful if your code segfaults when calling the exit function.", xbt_cfgelm_boolean, 1, 1, _sg_cfg_cb_clean_atexit, NULL); @@ -971,7 +971,7 @@ void sg_config_init(int *argc, char **argv) /* 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 resolves current Windows directory"); + "__surf_get_initial_path() failed! Can't resolve current Windows directory"); surf_path = xbt_dynar_new(sizeof(char *), NULL); xbt_cfg_setdefault_string(_sg_cfg_set, "path", initial_path); @@ -998,52 +998,47 @@ void sg_config_finalize(void) _sg_cfg_init_status = 0; } -/* Pick the right models for CPU, net and workstation, and call their model_init_preparse */ +/* Pick the right models for CPU, net and host, and call their model_init_preparse */ void surf_config_models_setup() { - const char *workstation_model_name; - const char *vm_workstation_model_name; - int workstation_id = -1; - int vm_workstation_id = -1; + const char *host_model_name; + const char *vm_model_name; + int host_id = -1; + int vm_id = -1; char *network_model_name = NULL; char *cpu_model_name = NULL; int storage_id = -1; char *storage_model_name = NULL; - workstation_model_name = - xbt_cfg_get_string(_sg_cfg_set, "workstation/model"); - vm_workstation_model_name = - xbt_cfg_get_string(_sg_cfg_set, "vm_workstation/model"); + host_model_name = xbt_cfg_get_string(_sg_cfg_set, "host/model"); + vm_model_name = xbt_cfg_get_string(_sg_cfg_set, "vm/model"); network_model_name = xbt_cfg_get_string(_sg_cfg_set, "network/model"); cpu_model_name = xbt_cfg_get_string(_sg_cfg_set, "cpu/model"); storage_model_name = xbt_cfg_get_string(_sg_cfg_set, "storage/model"); /* Check whether we use a net/cpu model differing from the default ones, in which case - * we should switch to the "compound" workstation model to correctly dispatch stuff to + * we should switch to the "compound" host model to correctly dispatch stuff to * the right net/cpu models. */ if ((!xbt_cfg_is_default_value(_sg_cfg_set, "network/model") || !xbt_cfg_is_default_value(_sg_cfg_set, "cpu/model")) && - xbt_cfg_is_default_value(_sg_cfg_set, "workstation/model")) { - XBT_INFO("Switching workstation model to compound since you changed the network and/or cpu model(s)"); - workstation_model_name = "compound"; - xbt_cfg_set_string(_sg_cfg_set, "workstation/model", workstation_model_name); + xbt_cfg_is_default_value(_sg_cfg_set, "host/model")) { + host_model_name = "compound"; + xbt_cfg_set_string(_sg_cfg_set, "host/model", host_model_name); } - XBT_DEBUG("Workstation model: %s", workstation_model_name); - workstation_id = - find_model_description(surf_workstation_model_description, - workstation_model_name); - if (!strcmp(workstation_model_name, "compound")) { + XBT_DEBUG("host model: %s", host_model_name); + host_id = find_model_description(surf_host_model_description, host_model_name); + if (!strcmp(host_model_name, "compound")) { int network_id = -1; int cpu_id = -1; xbt_assert(cpu_model_name, - "Set a cpu model to use with the 'compound' workstation model"); + "Set a cpu model to use with the 'compound' host model"); xbt_assert(network_model_name, - "Set a network model to use with the 'compound' workstation model"); + "Set a network model to use with the 'compound' host model"); if(surf_cpu_model_init_preparse){ surf_cpu_model_init_preparse(); @@ -1059,13 +1054,12 @@ void surf_config_models_setup() surf_network_model_description[network_id].model_init_preparse(); } - XBT_DEBUG("Call workstation_model_init"); - surf_workstation_model_description[workstation_id].model_init_preparse(); + XBT_DEBUG("Call host_model_init"); + surf_host_model_description[host_id].model_init_preparse(); - XBT_DEBUG("Call vm_workstation_model_init"); - vm_workstation_id = find_model_description(surf_vm_workstation_model_description, - vm_workstation_model_name); - surf_vm_workstation_model_description[vm_workstation_id].model_init_preparse(); + XBT_DEBUG("Call vm_model_init"); + vm_id = find_model_description(surf_vm_model_description, vm_model_name); + surf_vm_model_description[vm_id].model_init_preparse(); XBT_DEBUG("Call storage_model_init"); storage_id = find_model_description(surf_storage_model_description, storage_model_name);