Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
adda new callback(add_traces) to the CPU models
authorcoldpeace <coldpeace@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 23 Jul 2010 14:19:38 +0000 (14:19 +0000)
committercoldpeace <coldpeace@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 23 Jul 2010 14:19:38 +0000 (14:19 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8056 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/include/surf/surf.h
src/surf/cpu.c
src/surf/cpu_im.c
src/surf/cpu_ti.c

index 061790a..aecdb54 100644 (file)
@@ -165,6 +165,7 @@ XBT_PUBLIC_DATA(routing_t) used_routing;
                e_surf_resource_state_t state_initial,
                tmgr_trace_t state_trace,
                xbt_dict_t cpu_properties);
+       void (*add_traces)(void);
      } s_surf_model_extension_cpu_t;
 
      /* Network model */
@@ -183,6 +184,7 @@ XBT_PUBLIC_DATA(routing_t) used_routing;
        double (*get_link_latency) (const void *link);
        int (*link_shared) (const void *link);
        void (*create_resource) (char *name,double bw_initial,double lat_initial);
+       void (*add_traces)(void);
      } s_surf_model_extension_network_t;
 
      /** \brief Workstation model extension public
@@ -694,6 +696,12 @@ XBT_PUBLIC(void) surf_route_set_resource(char* src_id,char *dest_id,xbt_dynar_t
  */
 XBT_PUBLIC(void) surf_route_add_host(char * host_id);
 
+/**
+ * add traces
+ */
+XBT_PUBLIC(void) surf_add_trace_cpu(void);
+XBT_PUBLIC(void) surf_add_trace_link(void);
+
 #include "surf/surf_resource.h"
 #include "surf/surf_resource_lmm.h"
 
index eee4107..b55c297 100644 (file)
@@ -437,6 +437,7 @@ static void surf_cpu_model_init_internal(void)
   surf_cpu_model->extension.cpu.get_speed = cpu_get_speed;
   surf_cpu_model->extension.cpu.get_available_speed = cpu_get_available_speed;
   surf_cpu_model->extension.cpu.create_resource = cpu_create_resource;
+  surf_cpu_model->extension.cpu.add_traces = add_traces_cpu;
 
   if (!cpu_maxmin_system)
     cpu_maxmin_system = lmm_system_new();
index e5336e9..00e52fe 100644 (file)
@@ -118,6 +118,7 @@ static void parse_cpu_im_init(void)
 
 static void cpu_im_add_traces_cpu(void)
 {
+  INFO0("cpu_im_add_traces_cpu");
   xbt_dict_cursor_t cursor = NULL;
   char *trace_name, *elm;
 
@@ -325,7 +326,6 @@ static void cpu_im_update_resource_state(void *id,
                                   double value, double date)
 {
   cpu_Cas01_im_t cpu = id;
-
   if (event_type == cpu->power_event) {
     cpu->power_scale = value;
     lmm_update_constraint_bound(cpu_im_maxmin_system, cpu->constraint,
@@ -574,6 +574,7 @@ static void surf_cpu_im_model_init_internal(void)
   surf_cpu_model->extension.cpu.get_speed = cpu_im_get_speed;
   surf_cpu_model->extension.cpu.get_available_speed = cpu_im_get_available_speed;
   surf_cpu_model->extension.cpu.create_resource = cpu_im_create_resource;
+  surf_cpu_model->extension.cpu.add_traces = cpu_im_add_traces_cpu;
 
   if (!cpu_im_maxmin_system) {
     sg_maxmin_selective_update = 1;
index e893138..b266cc4 100644 (file)
@@ -795,6 +795,7 @@ static void surf_cpu_ti_model_init_internal(void)
   surf_cpu_model->extension.cpu.get_speed = cpu_ti_get_speed;
   surf_cpu_model->extension.cpu.get_available_speed = cpu_ti_get_available_speed;
   surf_cpu_model->extension.cpu.create_resource = cpu_ti_create_resource;
+  surf_cpu_model->extension.cpu.add_traces = add_traces_cpu_ti;
 
   cpu_ti_action_heap = xbt_heap_new(8, NULL);
   xbt_heap_set_update_callback(cpu_ti_action_heap, cpu_ti_action_update_index_heap);