e_surf_resource_state_t(*get_state) (void *cpu);
double (*get_speed) (void *cpu, double load);
double (*get_available_speed) (void *cpu);
- void* (*create_resource) (const char *name, double power_peak,
- double power_scale,
- tmgr_trace_t power_trace,
- int core,
- 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;
double (*get_link_latency) (const void *link);
int (*link_shared) (const void *link);
void (*add_traces) (void);
- void* (*create_resource) (const char *name,
- double bw_initial,
- tmgr_trace_t bw_trace,
- double lat_initial,
- tmgr_trace_t lat_trace,
- e_surf_resource_state_t
- state_initial,
- tmgr_trace_t state_trace,
- e_surf_link_sharing_policy_t policy,
- xbt_dict_t properties);
} s_surf_model_extension_network_t;
/* Storage model */
surf_action_t(*stat) (void *storage, surf_file_t stream);
surf_action_t(*unlink) (void *storage, surf_file_t stream);
surf_action_t(*ls) (void *storage, const char *path);
- void* (*create_resource) (const char* id, const char* model, const char* type_id, const char *content);
} s_surf_model_extension_storage_t;
/** \ingroup SURF_models
int (*link_shared) (const void *link);
xbt_dict_t(*get_properties) (const void *resource);
- void* (*link_create_resource) (const char *name,
- double bw_initial,
- tmgr_trace_t bw_trace,
- double lat_initial,
- tmgr_trace_t lat_trace,
- e_surf_resource_state_t
- state_initial,
- tmgr_trace_t state_trace,
- e_surf_link_sharing_policy_t
- policy, xbt_dict_t properties);
- void* (*cpu_create_resource) (const char *name, double power_peak,
- double power_scale,
- tmgr_trace_t power_trace,
- 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_workstation_t;
cpu_running_action_set_that_does_not_need_being_checked = NULL;
+/* This function is registered as a callback to sg_platf_new_host() and never called directly */
static void *cpu_create_resource(const char *name, double power_peak,
double power_scale,
tmgr_trace_t power_trace,
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 = cpu_add_traces_cpu;
if (!surf_cpu_model->model_private->maxmin_system) {
ptask_link_shared;
surf_workstation_model->extension.workstation.get_properties =
surf_resource_properties;
- surf_workstation_model->extension.workstation.link_create_resource =
- ptask_link_create_resource;
- surf_workstation_model->extension.workstation.cpu_create_resource =
- ptask_cpu_create_resource;
surf_workstation_model->extension.workstation.add_traces =
ptask_add_traces;
surf_network_model->extension.network.get_link_latency = ptask_get_link_latency;
surf_network_model->extension.network.link_shared = ptask_link_shared;
surf_network_model->extension.network.add_traces = NULL;
- surf_network_model->extension.network.create_resource = NULL;
}
/**************************************/