From: Martin Quinson Date: Mon, 15 Aug 2016 12:13:03 +0000 (+0200) Subject: plug a bunch of memleaks in SD examples and testsuites X-Git-Tag: v3_14~549 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/b08257d400b0767a4e90203480b050c28efa3299?ds=sidebyside plug a bunch of memleaks in SD examples and testsuites --- diff --git a/examples/simdag/dag-dotload/sd_dag-dotload.c b/examples/simdag/dag-dotload/sd_dag-dotload.c index 2f88d5e42c..3155441cf6 100644 --- a/examples/simdag/dag-dotload/sd_dag-dotload.c +++ b/examples/simdag/dag-dotload/sd_dag-dotload.c @@ -60,18 +60,18 @@ int main(int argc, char **argv) /* Schedule them all on the first workstation */ XBT_INFO("------------------- Schedule tasks ---------------------------"); - sg_host_t *ws_list = sg_host_list(); + sg_host_t *hosts = sg_host_list(); int count = sg_host_count(); xbt_dynar_foreach(dot, cursor, task) { if (SD_task_get_kind(task) == SD_TASK_COMP_SEQ) { if (!strcmp(SD_task_get_name(task), "end")) - SD_task_schedulel(task, 1, ws_list[0]); + SD_task_schedulel(task, 1, hosts[0]); else - SD_task_schedulel(task, 1, ws_list[cursor % count]); + SD_task_schedulel(task, 1, hosts[cursor % count]); } } - xbt_free(ws_list); + xbt_free(hosts); XBT_INFO("------------------- Run the schedule ---------------------------"); SD_simulate(-1); diff --git a/teshsuite/simdag/availability/availability.c b/teshsuite/simdag/availability/availability.c index a0f3c73c3a..1a0bfafcf6 100644 --- a/teshsuite/simdag/availability/availability.c +++ b/teshsuite/simdag/availability/availability.c @@ -20,21 +20,22 @@ static void scheduleDAX(xbt_dynar_t dax) unsigned int cursor; SD_task_t task; - const sg_host_t *ws_list = sg_host_list(); + sg_host_t *hosts = sg_host_list(); int totalHosts = sg_host_count(); - qsort((void *) ws_list, totalHosts, sizeof(sg_host_t), name_compare_hosts); + qsort((void *) hosts, totalHosts, sizeof(sg_host_t), name_compare_hosts); xbt_dynar_foreach(dax, cursor, task) { if (SD_task_get_kind(task) == SD_TASK_COMP_SEQ) { if (!strcmp(SD_task_get_name(task), "end") || !strcmp(SD_task_get_name(task), "root")) { - XBT_INFO("Scheduling %s to node: %s", SD_task_get_name(task), sg_host_get_name(ws_list[0])); - SD_task_schedulel(task, 1, ws_list[0]); + XBT_INFO("Scheduling %s to node: %s", SD_task_get_name(task), sg_host_get_name(hosts[0])); + SD_task_schedulel(task, 1, hosts[0]); } else { - XBT_INFO("Scheduling %s to node: %s", SD_task_get_name(task), sg_host_get_name(ws_list[(cursor) % totalHosts])); - SD_task_schedulel(task, 1, ws_list[(cursor) % totalHosts]); + XBT_INFO("Scheduling %s to node: %s", SD_task_get_name(task), sg_host_get_name(hosts[(cursor) % totalHosts])); + SD_task_schedulel(task, 1, hosts[(cursor) % totalHosts]); } } } + xbt_free(hosts); } int main(int argc, char *argv[]) diff --git a/teshsuite/simdag/basic0/basic0.c b/teshsuite/simdag/basic0/basic0.c index 4b472c3fd3..04c1e09631 100644 --- a/teshsuite/simdag/basic0/basic0.c +++ b/teshsuite/simdag/basic0/basic0.c @@ -40,9 +40,11 @@ int main(int argc, char **argv) SD_task_dependency_add(NULL, NULL, taskInit, taskA); SD_task_dependency_add(NULL, NULL, taskInit, taskB); - SD_task_schedule(taskInit, 1, sg_host_list(), no_cost, no_cost, -1.0); - SD_task_schedule(taskA, 2, sg_host_list(), no_cost, communication_amount1, -1.0); - SD_task_schedule(taskB, 2, sg_host_list(), no_cost, communication_amount2, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(taskInit, 1, hosts, no_cost, no_cost, -1.0); + SD_task_schedule(taskA, 2, hosts, no_cost, communication_amount1, -1.0); + SD_task_schedule(taskB, 2, hosts, no_cost, communication_amount2, -1.0); + xbt_free(hosts); /* let's launch the simulation! */ SD_simulate(-1.0); diff --git a/teshsuite/simdag/basic1/basic1.c b/teshsuite/simdag/basic1/basic1.c index 1d0b508dc5..c296bcbb98 100644 --- a/teshsuite/simdag/basic1/basic1.c +++ b/teshsuite/simdag/basic1/basic1.c @@ -40,11 +40,11 @@ int main(int argc, char **argv) SD_task_dependency_add(NULL, NULL, taskInit, taskA); SD_task_dependency_add(NULL, NULL, taskInit, taskB); - const sg_host_t *hosts = sg_host_list(); - - SD_task_schedule(taskInit, 1, sg_host_list(), &no_cost, &no_cost, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(taskInit, 1, hosts, &no_cost, &no_cost, -1.0); SD_task_schedule(taskA, 1, &hosts[0], &no_cost, &communication_amount1, -1.0); SD_task_schedule(taskB, 1, &hosts[1], &no_cost, &communication_amount2, -1.0); + xbt_free(hosts); /* let's launch the simulation! */ SD_simulate(-1.0); diff --git a/teshsuite/simdag/basic2/basic2.c b/teshsuite/simdag/basic2/basic2.c index 96b8408f06..5e308c401a 100644 --- a/teshsuite/simdag/basic2/basic2.c +++ b/teshsuite/simdag/basic2/basic2.c @@ -40,11 +40,11 @@ int main(int argc, char **argv) SD_task_dependency_add(NULL, NULL, taskInit, taskA); SD_task_dependency_add(NULL, NULL, taskInit, taskB); - const sg_host_t *workstation = sg_host_list(); - - SD_task_schedule(taskInit, 1, sg_host_list(), &no_cost, &no_cost, -1.0); - SD_task_schedule(taskA, 1, &workstation[0], &no_cost, &communication_amount1, -1.0); - SD_task_schedule(taskB, 1, &workstation[1], &no_cost, &communication_amount2, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(taskInit, 1, hosts, &no_cost, &no_cost, -1.0); + SD_task_schedule(taskA, 1, &hosts[0], &no_cost, &communication_amount1, -1.0); + SD_task_schedule(taskB, 1, &hosts[1], &no_cost, &communication_amount2, -1.0); + xbt_free(hosts); /* let's launch the simulation! */ SD_simulate(-1.0); diff --git a/teshsuite/simdag/basic3/basic3.c b/teshsuite/simdag/basic3/basic3.c index 6c2e431021..ab44e3e9ce 100644 --- a/teshsuite/simdag/basic3/basic3.c +++ b/teshsuite/simdag/basic3/basic3.c @@ -33,9 +33,11 @@ int main(int argc, char **argv) SD_task_dependency_add(NULL, NULL, taskInit, taskA); SD_task_dependency_add(NULL, NULL, taskA, taskFin); - SD_task_schedule(taskInit, 1, sg_host_list(), no_cost, no_cost, -1.0); - SD_task_schedule(taskA, 2, sg_host_list(), no_cost, no_cost, -1.0); - SD_task_schedule(taskFin, 1, sg_host_list(), no_cost, no_cost, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(taskInit, 1, hosts, no_cost, no_cost, -1.0); + SD_task_schedule(taskA, 2, hosts, no_cost, no_cost, -1.0); + SD_task_schedule(taskFin, 1, hosts, no_cost, no_cost, -1.0); + xbt_free(hosts); /* let's launch the simulation! */ SD_simulate(-1.0); diff --git a/teshsuite/simdag/basic4/basic4.c b/teshsuite/simdag/basic4/basic4.c index c1c36f9c19..c061e6ac01 100644 --- a/teshsuite/simdag/basic4/basic4.c +++ b/teshsuite/simdag/basic4/basic4.c @@ -36,9 +36,11 @@ int main(int argc, char **argv) SD_task_dependency_add(NULL, NULL, taskInit, taskA); SD_task_dependency_add(NULL, NULL, taskA, taskFin); - SD_task_schedule(taskInit, 1, sg_host_list(), no_cost, no_cost, -1.0); - SD_task_schedule(taskA, 2, sg_host_list(), no_cost, amount, -1.0); - SD_task_schedule(taskFin, 1, sg_host_list(), no_cost, no_cost, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(taskInit, 1, hosts, no_cost, no_cost, -1.0); + SD_task_schedule(taskA, 2, hosts, no_cost, amount, -1.0); + SD_task_schedule(taskFin, 1, hosts, no_cost, no_cost, -1.0); + xbt_free(hosts); /* let's launch the simulation! */ SD_simulate(-1.0); diff --git a/teshsuite/simdag/basic5/basic5.c b/teshsuite/simdag/basic5/basic5.c index 59e0bf6a78..485cdcb40b 100644 --- a/teshsuite/simdag/basic5/basic5.c +++ b/teshsuite/simdag/basic5/basic5.c @@ -39,9 +39,11 @@ int main(int argc, char **argv) SD_task_dependency_add(NULL, NULL, taskInit, taskA); SD_task_dependency_add(NULL, NULL, taskInit, taskB); - SD_task_schedule(taskInit, 1, sg_host_list(), no_cost, no_cost, -1.0); - SD_task_schedule(taskA, 2, sg_host_list(), no_cost, amount, -1.0); - SD_task_schedule(taskB, 1, sg_host_list(), comput, no_cost, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(taskInit, 1, hosts, no_cost, no_cost, -1.0); + SD_task_schedule(taskA, 2, hosts, no_cost, amount, -1.0); + SD_task_schedule(taskB, 1, hosts, comput, no_cost, -1.0); + xbt_free(hosts); /* let's launch the simulation! */ SD_simulate(-1.0); diff --git a/teshsuite/simdag/basic6/basic6.c b/teshsuite/simdag/basic6/basic6.c index 5a2b3d5d74..204e55af21 100644 --- a/teshsuite/simdag/basic6/basic6.c +++ b/teshsuite/simdag/basic6/basic6.c @@ -32,8 +32,10 @@ int main(int argc, char **argv) SD_task_t taskA = SD_task_create("Task A", NULL, 1.0); SD_task_t taskB = SD_task_create("Task B", NULL, 1.0); - SD_task_schedule(taskA, 1, sg_host_list(), comp_cost, comm_cost, -1.0); - SD_task_schedule(taskB, 1, sg_host_list(), comp_cost, comm_cost, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(taskA, 1, hosts, comp_cost, comm_cost, -1.0); + SD_task_schedule(taskB, 1, hosts, comp_cost, comm_cost, -1.0); + xbt_free(hosts); ret = SD_simulate(-1.0); xbt_assert(xbt_dynar_length(ret) == 2, "I was expecting the completion of 2 tasks, but I got %lu instead", diff --git a/teshsuite/simdag/comm-mxn-all2all/comm-mxn-all2all.c b/teshsuite/simdag/comm-mxn-all2all/comm-mxn-all2all.c index 9aeb6b04ec..5ba3320eaf 100644 --- a/teshsuite/simdag/comm-mxn-all2all/comm-mxn-all2all.c +++ b/teshsuite/simdag/comm-mxn-all2all/comm-mxn-all2all.c @@ -30,7 +30,9 @@ int main(int argc, char **argv) SD_task_t task = SD_task_create("All2all task", NULL, 1.0); - SD_task_schedule(task, 4, sg_host_list(), SD_SCHED_NO_COST, communication_amount, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(task, 4, hosts, SD_SCHED_NO_COST, communication_amount, -1.0); + xbt_free(hosts); SD_simulate(-1.0); diff --git a/teshsuite/simdag/comm-mxn-independent/comm-mxn-independent.c b/teshsuite/simdag/comm-mxn-independent/comm-mxn-independent.c index 59cbb8d33b..07a79ac9aa 100644 --- a/teshsuite/simdag/comm-mxn-independent/comm-mxn-independent.c +++ b/teshsuite/simdag/comm-mxn-independent/comm-mxn-independent.c @@ -31,7 +31,9 @@ int main(int argc, char **argv) SD_task_t task = SD_task_create("Comm 1", NULL, 1.0); - SD_task_schedule(task, 4, sg_host_list(), SD_SCHED_NO_COST, communication_amount, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(task, 4, hosts, SD_SCHED_NO_COST, communication_amount, -1.0); + xbt_free(hosts); SD_simulate(-1.0); diff --git a/teshsuite/simdag/comm-mxn-scatter/comm-mxn-scatter.c b/teshsuite/simdag/comm-mxn-scatter/comm-mxn-scatter.c index e26c44ab52..e55fadfe85 100644 --- a/teshsuite/simdag/comm-mxn-scatter/comm-mxn-scatter.c +++ b/teshsuite/simdag/comm-mxn-scatter/comm-mxn-scatter.c @@ -32,7 +32,9 @@ int main(int argc, char **argv) SD_task_t task = SD_task_create("Scatter task", NULL, 1.0); - SD_task_schedule(task, 4, sg_host_list(), SD_SCHED_NO_COST, communication_amount, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(task, 4, hosts, SD_SCHED_NO_COST, communication_amount, -1.0); + xbt_free(hosts); SD_simulate(-1.0); diff --git a/teshsuite/simdag/comm-p2p-latency-1/comm-p2p-latency-1.c b/teshsuite/simdag/comm-p2p-latency-1/comm-p2p-latency-1.c index 4896951313..ed3557ac75 100644 --- a/teshsuite/simdag/comm-p2p-latency-1/comm-p2p-latency-1.c +++ b/teshsuite/simdag/comm-p2p-latency-1/comm-p2p-latency-1.c @@ -26,7 +26,9 @@ int main(int argc, char **argv) SD_task_t task = SD_task_create("Comm 1", NULL, 1.0); - SD_task_schedule(task, 2, sg_host_list(), no_cost, communication_amount, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(task, 2, hosts, no_cost, communication_amount, -1.0); + xbt_free(hosts); SD_simulate(-1.0); diff --git a/teshsuite/simdag/comm-p2p-latency-2/comm-p2p-latency-2.c b/teshsuite/simdag/comm-p2p-latency-2/comm-p2p-latency-2.c index ceafd26e52..dd845e12d8 100644 --- a/teshsuite/simdag/comm-p2p-latency-2/comm-p2p-latency-2.c +++ b/teshsuite/simdag/comm-p2p-latency-2/comm-p2p-latency-2.c @@ -28,9 +28,11 @@ int main(int argc, char **argv) SD_task_t task1 = SD_task_create("Comm 1", NULL, 1.0); SD_task_t task2 = SD_task_create("Comm 2", NULL, 1.0); - SD_task_schedule(root, 1, sg_host_list(), no_cost1, no_cost1, -1.0); - SD_task_schedule(task1, 2, sg_host_list(), no_cost, communication_amount1, -1.0); - SD_task_schedule(task2, 2, sg_host_list(), no_cost, communication_amount2, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(root, 1, hosts, no_cost1, no_cost1, -1.0); + SD_task_schedule(task1, 2, hosts, no_cost, communication_amount1, -1.0); + SD_task_schedule(task2, 2, hosts, no_cost, communication_amount2, -1.0); + xbt_free(hosts); SD_task_dependency_add(NULL, NULL, root, task1); SD_task_dependency_add(NULL, NULL, root, task2); diff --git a/teshsuite/simdag/comm-p2p-latency-3/comm-p2p-latency-3.c b/teshsuite/simdag/comm-p2p-latency-3/comm-p2p-latency-3.c index c7ba9e45e2..74aaca0c5f 100644 --- a/teshsuite/simdag/comm-p2p-latency-3/comm-p2p-latency-3.c +++ b/teshsuite/simdag/comm-p2p-latency-3/comm-p2p-latency-3.c @@ -30,9 +30,11 @@ int main(int argc, char **argv) SD_task_t task1 = SD_task_create("Comm 1", NULL, 1.0); SD_task_t task2 = SD_task_create("Comm 2", NULL, 1.0); - SD_task_schedule(root, 1, sg_host_list(), no_cost1, no_cost1, -1.0); - SD_task_schedule(task1, 2, sg_host_list(), no_cost, communication_amount1, -1.0); - SD_task_schedule(task2, 2, sg_host_list(), no_cost, communication_amount2, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(root, 1, hosts, no_cost1, no_cost1, -1.0); + SD_task_schedule(task1, 2, hosts, no_cost, communication_amount1, -1.0); + SD_task_schedule(task2, 2, hosts, no_cost, communication_amount2, -1.0); + xbt_free(hosts); SD_task_dependency_add(NULL, NULL, root, task1); SD_task_dependency_add(NULL, NULL, root, task2); diff --git a/teshsuite/simdag/comm-p2p-latency-bound/comm-p2p-latency-bound.c b/teshsuite/simdag/comm-p2p-latency-bound/comm-p2p-latency-bound.c index 357c4cc84b..f29bdd9def 100644 --- a/teshsuite/simdag/comm-p2p-latency-bound/comm-p2p-latency-bound.c +++ b/teshsuite/simdag/comm-p2p-latency-bound/comm-p2p-latency-bound.c @@ -29,13 +29,16 @@ int main(int argc, char **argv) SD_create_environment(argv[1]); SD_task_t root = SD_task_create("Root", NULL, 1.0); - SD_task_schedule(root, 1, sg_host_list(), no_cost, no_cost, -1.0); + + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(root, 1, hosts, no_cost, no_cost, -1.0); for (int i = 0; i < TASK_NUM; i++) { task[i] = SD_task_create("Comm", NULL, 1.0); - SD_task_schedule(task[i], 2, sg_host_list(), no_cost, communication_amount, -1.0); + SD_task_schedule(task[i], 2, hosts, no_cost, communication_amount, -1.0); SD_task_dependency_add(NULL, NULL, root, task[i]); } + xbt_free(hosts); SD_simulate(-1.0); diff --git a/teshsuite/simdag/comp-only-par/comp-only-par.c b/teshsuite/simdag/comp-only-par/comp-only-par.c index 7d206316ec..6ce8ddb9b1 100644 --- a/teshsuite/simdag/comp-only-par/comp-only-par.c +++ b/teshsuite/simdag/comp-only-par/comp-only-par.c @@ -16,7 +16,9 @@ int main(int argc, char **argv) SD_create_environment(argv[1]); SD_task_t task = SD_task_create("partask", NULL, 1.0); - SD_task_schedule(task, 2, sg_host_list(), comp_cost, comm_amount, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(task, 2, hosts, comp_cost, comm_amount, -1.0); + xbt_free(hosts); SD_simulate(-1.0); diff --git a/teshsuite/simdag/comp-only-seq/comp-only-seq.c b/teshsuite/simdag/comp-only-seq/comp-only-seq.c index 8bc1c667cd..a0908e21c8 100644 --- a/teshsuite/simdag/comp-only-seq/comp-only-seq.c +++ b/teshsuite/simdag/comp-only-seq/comp-only-seq.c @@ -19,7 +19,9 @@ int main(int argc, char **argv) SD_create_environment(argv[1]); SD_task_t task = SD_task_create("seqtask", NULL, 1.0); - SD_task_schedule(task, 1, sg_host_list(), comp_cost, comm_amount, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(task, 1, hosts, comp_cost, comm_amount, -1.0); + xbt_free(hosts); SD_simulate(-1.0); diff --git a/teshsuite/simdag/incomplete/incomplete.c b/teshsuite/simdag/incomplete/incomplete.c index 68238f013e..593b93490f 100644 --- a/teshsuite/simdag/incomplete/incomplete.c +++ b/teshsuite/simdag/incomplete/incomplete.c @@ -42,11 +42,11 @@ int main(int argc, char **argv) SD_task_dependency_add(NULL, NULL, taskInit, taskB); SD_task_dependency_add(NULL, NULL, taskC, taskD); - const sg_host_t *hosts = sg_host_list(); - - SD_task_schedule(taskInit, 1, sg_host_list(), &no_cost, &no_cost, -1.0); + sg_host_t *hosts = sg_host_list(); + SD_task_schedule(taskInit, 1, hosts, &no_cost, &no_cost, -1.0); SD_task_schedule(taskA, 1, &hosts[0], &no_cost, &communication_amount1, -1.0); SD_task_schedule(taskD, 1, &hosts[0], &no_cost, &communication_amount1, -1.0); + xbt_free(hosts); /* let's launch the simulation! */ SD_simulate(-1.);