Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
destroy the config set each time we allocate it
[simgrid.git] / src / simgrid / sg_config.cpp
index 466ae73..62693e8 100644 (file)
@@ -382,8 +382,8 @@ static void describe_model(char *result,int resultsize,
 /* create the config set, register what should be and parse the command line*/
 void sg_config_init(int *argc, char **argv)
 {
-  int descsize = 1024;
-  char description[1024];
+  const int descsize = 1024;
+  char description[descsize];
 
   /* Create the configuration support */
   if (_sg_cfg_init_status == 0) { /* Only create stuff if not already inited */
@@ -425,6 +425,10 @@ void sg_config_init(int *argc, char **argv)
     simgrid::config::bindFlag(sg_maxmin_precision, "maxmin/precision",
       "Numerical precision used when computing resource sharing (in ops/sec or bytes/sec)");
 
+    sg_concurrency_limit = 100;
+    simgrid::config::bindFlag(sg_concurrency_limit, "maxmin/concurrency_limit",
+      "Maximum number of concurrent variables in the maxmim system. Also limits the number of processes on each host, at higher level");
+
     /* The parameters of network models */
 
     // real default for "network/sender-gap" is set in network_smpi.cpp:
@@ -616,6 +620,14 @@ void sg_config_init(int *argc, char **argv)
     xbt_cfg_register_string("smpi/reduce",        nullptr, &_check_coll_reduce, "Which collective to use for reduce");
 #endif // HAVE_SMPI
 
+    /* Storage */
+
+    sg_storage_max_file_descriptors = 1024;
+    simgrid::config::bindFlag(sg_storage_max_file_descriptors, "storage/max_file_descriptors",
+      "Maximum number of concurrently opened files per host. Default is 1024");
+
+    /* Others */
+
     xbt_cfg_register_boolean("exception/cutpath", "no", nullptr,
         "Whether to cut all path information from call traces, used e.g. in exceptions.");
 
@@ -642,7 +654,7 @@ void sg_config_init(int *argc, char **argv)
   }
 }
 
-void sg_config_finalize(void)
+void sg_config_finalize()
 {
   if (!_sg_cfg_init_status)
     return;                     /* Not initialized yet. Nothing to do */