Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Parallel implementation for Boost.Context context
[simgrid.git] / src / simix / smx_host.c
index 4270431..4d4818e 100644 (file)
@@ -9,6 +9,7 @@
 #include "xbt/log.h"
 #include "xbt/dict.h"
 #include "mc/mc.h"
+#include "mc/mc_replay.h"
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_host, simix,
                                 "SIMIX hosts");
@@ -176,31 +177,19 @@ const char* SIMIX_host_self_get_name(void)
   return SIMIX_host_get_name(host);
 }
 
-const char* SIMIX_host_get_name(smx_host_t host){
-  xbt_assert((host != NULL), "Invalid parameters");
-
-  return sg_host_name(host);
-}
-
 xbt_dict_t SIMIX_host_get_properties(smx_host_t host){
-  xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
-
   return surf_resource_get_properties(surf_workstation_resource_priv(host));
 }
 
 double SIMIX_host_get_speed(smx_host_t host){
-  xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
   return surf_workstation_get_speed(host, 1.0);
 }
 
 int SIMIX_host_get_core(smx_host_t host){
-  xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
-
   return surf_workstation_get_core(host);
 }
 
 xbt_swag_t SIMIX_host_get_process_list(smx_host_t host){
-  xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
   smx_host_priv_t host_priv = SIMIX_host_priv(host);
 
   return host_priv->process_list;
@@ -208,43 +197,40 @@ xbt_swag_t SIMIX_host_get_process_list(smx_host_t host){
 
 
 double SIMIX_host_get_available_speed(smx_host_t host){
-  xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
-
   return surf_workstation_get_available_speed(host);
 }
 
 double SIMIX_host_get_current_power_peak(smx_host_t host) {
-         xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
          return surf_workstation_get_current_power_peak(host);
 }
 
 double SIMIX_host_get_power_peak_at(smx_host_t host, int pstate_index) {
-         xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
-
          return surf_workstation_get_power_peak_at(host, pstate_index);
 }
 
 int SIMIX_host_get_nb_pstates(smx_host_t host) {
-         xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
-
          return surf_workstation_get_nb_pstates(host);
 }
 
 
-void SIMIX_host_set_power_peak_at(smx_host_t host, int pstate_index) {
-         xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
-
-         surf_workstation_set_power_peak_at(host, pstate_index);
+void SIMIX_host_set_pstate(smx_host_t host, int pstate_index) {
+         surf_workstation_set_pstate(host, pstate_index);
+}
+int SIMIX_host_get_pstate(smx_host_t host) {
+         return surf_workstation_get_pstate(host);
 }
 
 double SIMIX_host_get_consumed_energy(smx_host_t host) {
-         xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
          return surf_workstation_get_consumed_energy(host);
 }
+double SIMIX_host_get_wattmin_at(smx_host_t host,int pstate) {
+         return surf_workstation_get_wattmin_at(host,pstate);
+}
+double SIMIX_host_get_wattmax_at(smx_host_t host,int pstate) {
+         return surf_workstation_get_wattmax_at(host,pstate);
+}
 
 int SIMIX_host_get_state(smx_host_t host){
-  xbt_assert((host != NULL), "Invalid parameters (simix host is NULL)");
-
   return surf_resource_get_state(surf_workstation_resource_priv(host));
 }
 
@@ -371,10 +357,7 @@ smx_synchro_t SIMIX_host_execute(const char *name,
   synchro->name = xbt_strdup(name);
   synchro->state = SIMIX_RUNNING;
   synchro->execution.host = host;
-
-#ifdef HAVE_TRACING
   synchro->category = NULL;
-#endif
 
   /* set surf's action */
   if (!MC_is_active() && !MC_record_replay_is_active()) {
@@ -417,10 +400,7 @@ smx_synchro_t SIMIX_host_parallel_execute(const char *name,
   synchro->name = xbt_strdup(name);
   synchro->state = SIMIX_RUNNING;
   synchro->execution.host = NULL; /* FIXME: do we need the list of hosts? */
-
-#ifdef HAVE_TRACING
   synchro->category = NULL;
-#endif
 
   /* set surf's synchro */
   workstation_list = xbt_new0(void *, host_nb);
@@ -610,7 +590,6 @@ void SIMIX_post_host_execute(smx_synchro_t synchro)
 }
 
 
-#ifdef HAVE_TRACING
 void SIMIX_set_category(smx_synchro_t synchro, const char *category)
 {
   if (synchro->state != SIMIX_RUNNING) return;
@@ -620,7 +599,6 @@ void SIMIX_set_category(smx_synchro_t synchro, const char *category)
     surf_action_set_category(synchro->comm.surf_comm, category);
   }
 }
-#endif
 
 /**
  * \brief Function to get the parameters of the given the SIMIX host.