/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
+#include "simdag_private.hpp"
#include "src/surf/HostImpl.hpp"
#include "src/surf/surf_interface.hpp"
-#include "src/simdag/simdag_private.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(sd_task, sd, "Logging specific to SimDag (task)");
void SD_task_dump(SD_task_t task)
{
XBT_INFO("Displaying task %s", SD_task_get_name(task));
- char *statename = bprintf("%s%s%s%s%s%s%s",
- (task->state == SD_NOT_SCHEDULED ? " not scheduled" : ""),
- (task->state == SD_SCHEDULABLE ? " schedulable" : ""),
- (task->state == SD_SCHEDULED ? " scheduled" : ""),
- (task->state == SD_RUNNABLE ? " runnable" : " not runnable"),
- (task->state == SD_RUNNING ? " running" : ""),
- (task->state == SD_DONE ? " done" : ""),
- (task->state == SD_FAILED ? " failed" : ""));
- XBT_INFO(" - state:%s", statename);
- free(statename);
+ if (task->state == SD_RUNNABLE)
+ XBT_INFO(" - state: runnable");
+ else if (task->state < SD_RUNNABLE)
+ XBT_INFO(" - state: %s not runnable", __get_state_name(task->state));
+ else
+ XBT_INFO(" - state: not runnable %s", __get_state_name(task->state));
if (task->kind != 0) {
switch (task->kind) {
int host_nb = task->allocation->size();
sg_host_t *hosts = xbt_new(sg_host_t, host_nb);
int i =0;
- for (auto host: *task->allocation)
- hosts[i++] = host;
+ for (auto host: *task->allocation){
+ hosts[i] = host;
+ i++;
+ }
double *flops_amount = xbt_new0(double, host_nb);
double *bytes_amount = xbt_new0(double, host_nb * host_nb);
__SD_task_destroy_scheduling_data(task); /* now the scheduling data are not useful anymore */
SD_task_set_state(task, SD_RUNNING);
- xbt_dynar_push(sd_global->return_set, &task);
+ sd_global->return_set->insert(task);
}
/**