+static simgrid::config::Flag<double>
+ cfg_sampling_rate("plugin/dvfs/sampling-rate",
+ "How often should the dvfs plugin check whether the frequency needs to be changed?", 0.1,
+ [](double val) {
+ if (val != 0.1)
+ sg_host_dvfs_plugin_init();
+ });
+
+static simgrid::config::Flag<std::string> cfg_governor("plugin/dvfs/governor",
+ "Which Governor should be used that adapts the CPU frequency?",
+ "performance",
+
+ std::map<std::string, std::string, std::less<>>({
+#if HAVE_SMPI
+ {"adagio", "TODO: Doc"},
+#endif
+ {"conservative", "TODO: Doc"}, {"ondemand", "TODO: Doc"},
+ {"performance", "TODO: Doc"}, {"powersave", "TODO: Doc"},
+ }),
+
+ [](const std::string& val) {
+ if (val != "performance")
+ sg_host_dvfs_plugin_init();
+ });
+
+static simgrid::config::Flag<int>
+ cfg_min_pstate("plugin/dvfs/min-pstate",
+ "Which pstate is the minimum (and hence fastest) pstate for this governor?", 0);
+
+static const int max_pstate_not_limited = -1;
+static simgrid::config::Flag<int>
+ cfg_max_pstate("plugin/dvfs/max-pstate",
+ "Which pstate is the maximum (and hence slowest) pstate for this governor?", max_pstate_not_limited);
+