Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
setup a mallocator for the simdag tasks. The gain is quite disapointing, but not...
[simgrid.git] / src / simdag / private.h
index 6939eca..88bb0a9 100644 (file)
@@ -14,6 +14,7 @@
 #include "simdag/datatypes.h"
 #include "surf/surf.h"
 #include "xbt/swag.h"
+#include "xbt/mallocator.h"
 #include <stdbool.h>
 
 #define SD_INITIALISED() (sd_global != NULL)
@@ -29,6 +30,8 @@ typedef struct SD_global {
   SD_link_t *recyclable_route;  /* array returned by SD_route_get_list
                                    and mallocated only once */
 
+  xbt_mallocator_t task_mallocator; /* to not remalloc new tasks */
+
   int watch_point_reached;      /* has a task just reached a watch point? */
 
   /* task state sets */
@@ -130,6 +133,11 @@ int __SD_task_try_to_run(SD_task_t task);
 void __SD_task_just_done(SD_task_t task);
 bool acyclic_graph_detail(xbt_dynar_t dag);
 
+/* Task mallocator functions */
+void* SD_task_new_f(void);
+void SD_task_recycle_f(void *t);
+void SD_task_free_f(void *t);
+
 /* Functions to test if the task is in a given state. */
 
 /* Returns whether the given task is scheduled or runnable. */