A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use standard modifier %z instead of %Z.
[simgrid.git]
/
src
/
surf
/
cpu_ti.c
diff --git
a/src/surf/cpu_ti.c
b/src/surf/cpu_ti.c
index
db57d05
..
b1c3d1d
100644
(file)
--- a/
src/surf/cpu_ti.c
+++ b/
src/surf/cpu_ti.c
@@
-14,6
+14,7
@@
#include "trace_mgr_private.h"
#include "cpu_ti_private.h"
#include "xbt/heap.h"
#include "trace_mgr_private.h"
#include "cpu_ti_private.h"
#include "xbt/heap.h"
+#include "surf/surf_resource.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_cpu_ti, surf,
"Logging specific to the SURF CPU TRACE INTEGRATION module");
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_cpu_ti, surf,
"Logging specific to the SURF CPU TRACE INTEGRATION module");
@@
-49,10
+50,8
@@
static int surf_cpu_ti_binary_search(double *array, double a, int low,
static void surf_cpu_ti_free_trace(surf_cpu_ti_trace_t trace)
{
static void surf_cpu_ti_free_trace(surf_cpu_ti_trace_t trace)
{
- if (trace->time_points)
- xbt_free(trace->time_points);
- if (trace->integral)
- xbt_free(trace->integral);
+ xbt_free(trace->time_points);
+ xbt_free(trace->integral);
xbt_free(trace);
}
xbt_free(trace);
}
@@
-192,13
+191,13
@@
static void* cpu_ti_create_resource(const char *name, double power_peak,
static void parse_cpu_ti_init(sg_platf_host_cbarg_t host)
{
static void parse_cpu_ti_init(sg_platf_host_cbarg_t host)
{
- cpu_ti_create_resource(host->
V_host_
id,
- host->
V_host_
power_peak,
- host->
V_host_
power_scale,
- host->
V_host_
power_trace,
- host->
V_host_core
,
- host->
V_host_state_initial
,
- host->
V_host_
state_trace,
+ cpu_ti_create_resource(host->id,
+ host->power_peak,
+ host->power_scale,
+ host->power_trace,
+ host->
core_amount
,
+ host->
initial_state
,
+ host->state_trace,
host->properties);
}
host->properties);
}
@@
-314,7
+313,6
@@
static void cpu_ti_action_state_set(surf_action_t action,
*/
static void cpu_ti_update_remaining_amount(cpu_ti_t cpu, double now)
{
*/
static void cpu_ti_update_remaining_amount(cpu_ti_t cpu, double now)
{
-#define GENERIC_ACTION(action) action->generic_action
double area_total;
surf_action_cpu_ti_t action;
double area_total;
surf_action_cpu_ti_t action;
@@
-330,13
+328,14
@@
static void cpu_ti_update_remaining_amount(cpu_ti_t cpu, double now)
cpu->last_update);
xbt_swag_foreach(action, cpu->action_set) {
cpu->last_update);
xbt_swag_foreach(action, cpu->action_set) {
+ surf_action_t generic = (surf_action_t)action;
/* action not running, skip it */
/* action not running, skip it */
- if (
GENERIC_ACTION(action).
state_set !=
+ if (
generic->
state_set !=
surf_cpu_model->states.running_action_set)
continue;
/* bogus priority, skip it */
surf_cpu_model->states.running_action_set)
continue;
/* bogus priority, skip it */
- if (
GENERIC_ACTION(action).
priority <= 0)
+ if (
generic->
priority <= 0)
continue;
/* action suspended, skip it */
continue;
/* action suspended, skip it */
@@
-344,20
+343,20
@@
static void cpu_ti_update_remaining_amount(cpu_ti_t cpu, double now)
continue;
/* action don't need update */
continue;
/* action don't need update */
- if (
GENERIC_ACTION(action).
start >= now)
+ if (
generic->
start >= now)
continue;
/* skip action that are finishing now */
continue;
/* skip action that are finishing now */
- if (
GENERIC_ACTION(action).
finish >= 0
- &&
GENERIC_ACTION(action).
finish <= now)
+ if (
generic->
finish >= 0
+ &&
generic->
finish <= now)
continue;
/* update remaining */
continue;
/* update remaining */
- double_update(&(
GENERIC_ACTION(action).
remains),
+ double_update(&(
generic->
remains),
area_total / (cpu->sum_priority *
area_total / (cpu->sum_priority *
-
GENERIC_ACTION(action).
priority));
+
generic->
priority));
XBT_DEBUG("Update remaining action(%p) remaining %lf", action,
XBT_DEBUG("Update remaining action(%p) remaining %lf", action,
-
GENERIC_ACTION(action).
remains);
+
generic->
remains);
}
cpu->last_update = now;
#undef GENERIC_ACTION
}
cpu->last_update = now;
#undef GENERIC_ACTION
@@
-682,8
+681,8
@@
static double cpu_ti_action_get_remains(surf_action_t action)
cpu_ti_update_remaining_amount((cpu_ti_t)
((surf_action_cpu_ti_t) action)->cpu,
surf_get_clock());
cpu_ti_update_remaining_amount((cpu_ti_t)
((surf_action_cpu_ti_t) action)->cpu,
surf_get_clock());
- return action->remains;
XBT_OUT();
XBT_OUT();
+ return action->remains;
}
static e_surf_resource_state_t cpu_ti_get_state(void *cpu)
}
static e_surf_resource_state_t cpu_ti_get_state(void *cpu)
@@
-766,7
+765,7
@@
static void surf_cpu_ti_model_init_internal(void)
cpu_ti_modified_cpu =
xbt_swag_new(xbt_swag_offset(cpu, modified_cpu_hookup));
cpu_ti_modified_cpu =
xbt_swag_new(xbt_swag_offset(cpu, modified_cpu_hookup));
- surf_cpu_model->name = "
CPU_TI
";
+ surf_cpu_model->name = "
cpu_ti
";
surf_cpu_model->action_unref = cpu_ti_action_unref;
surf_cpu_model->action_cancel = cpu_ti_action_cancel;
surf_cpu_model->action_unref = cpu_ti_action_unref;
surf_cpu_model->action_cancel = cpu_ti_action_cancel;
@@
-805,8
+804,7
@@
static void surf_cpu_ti_model_init_internal(void)
void surf_cpu_model_init_ti()
{
void surf_cpu_model_init_ti()
{
- if (surf_cpu_model)
- return;
+ xbt_assert(!surf_cpu_model,"CPU model already initialized. This should not happen.");
surf_cpu_ti_model_init_internal();
cpu_ti_define_callbacks();
xbt_dynar_push(model_list, &surf_cpu_model);
surf_cpu_ti_model_init_internal();
cpu_ti_define_callbacks();
xbt_dynar_push(model_list, &surf_cpu_model);