Browse Source

Show bindid in the trace instead of the thread id which does not bring much sense

Samuel Thibault 10 years ago
parent
commit
3e915c9997
3 changed files with 10 additions and 9 deletions
  1. 3 3
      src/common/fxt.h
  2. 1 1
      src/core/workers.c
  3. 6 5
      src/debug/traces/starpu_fxt.c

+ 3 - 3
src/common/fxt.h

@@ -408,8 +408,8 @@ do {									\
 #define _STARPU_TRACE_NEW_MEM_NODE(nodeid)			\
 #define _STARPU_TRACE_NEW_MEM_NODE(nodeid)			\
 	FUT_DO_PROBE2(_STARPU_FUT_NEW_MEM_NODE, nodeid, _starpu_gettid());
 	FUT_DO_PROBE2(_STARPU_FUT_NEW_MEM_NODE, nodeid, _starpu_gettid());
 
 
-#define _STARPU_TRACE_WORKER_INIT_START(workerkind, workerid, devid, memnode, sync)	\
-	FUT_DO_PROBE6(_STARPU_FUT_WORKER_INIT_START, workerkind, workerid, devid, memnode, sync, _starpu_gettid());
+#define _STARPU_TRACE_WORKER_INIT_START(workerkind, workerid, devid, memnode, bindid, sync)	\
+	FUT_DO_PROBE7(_STARPU_FUT_WORKER_INIT_START, workerkind, workerid, devid, memnode, bindid, sync, _starpu_gettid());
 
 
 #define _STARPU_TRACE_WORKER_INIT_END(__workerid)				\
 #define _STARPU_TRACE_WORKER_INIT_END(__workerid)				\
 	FUT_DO_PROBE2(_STARPU_FUT_WORKER_INIT_END, _starpu_gettid(), (__workerid));
 	FUT_DO_PROBE2(_STARPU_FUT_WORKER_INIT_END, _starpu_gettid(), (__workerid));
@@ -818,7 +818,7 @@ do {										\
 
 
 /* Dummy macros in case FxT is disabled */
 /* Dummy macros in case FxT is disabled */
 #define _STARPU_TRACE_NEW_MEM_NODE(nodeid)	do {} while(0)
 #define _STARPU_TRACE_NEW_MEM_NODE(nodeid)	do {} while(0)
-#define _STARPU_TRACE_WORKER_INIT_START(a,b,c,d,e)	do {} while(0)
+#define _STARPU_TRACE_WORKER_INIT_START(a,b,c,d,e,f)	do {} while(0)
 #define _STARPU_TRACE_WORKER_INIT_END(workerid)	do {} while(0)
 #define _STARPU_TRACE_WORKER_INIT_END(workerid)	do {} while(0)
 #define _STARPU_TRACE_START_CODELET_BODY(job, nimpl, perf_arch, workerid)	do {} while(0)
 #define _STARPU_TRACE_START_CODELET_BODY(job, nimpl, perf_arch, workerid)	do {} while(0)
 #define _STARPU_TRACE_END_CODELET_BODY(job, nimpl, perf_arch, workerid)	do {} while(0)
 #define _STARPU_TRACE_END_CODELET_BODY(job, nimpl, perf_arch, workerid)	do {} while(0)

+ 1 - 1
src/core/workers.c

@@ -562,7 +562,7 @@ void _starpu_worker_start(struct _starpu_worker *worker, unsigned fut_key, unsig
 {
 {
 	unsigned devid = worker->devid;
 	unsigned devid = worker->devid;
 	unsigned memnode = worker->memory_node;
 	unsigned memnode = worker->memory_node;
-	_STARPU_TRACE_WORKER_INIT_START(fut_key, worker->workerid, devid, memnode, sync);
+	_STARPU_TRACE_WORKER_INIT_START(fut_key, worker->workerid, devid, memnode, worker->bindid, sync);
 }
 }
 #endif
 #endif
 
 

+ 6 - 5
src/debug/traces/starpu_fxt.c

@@ -463,8 +463,9 @@ static void handle_worker_init_start(struct fxt_ev_64 *ev, struct starpu_fxt_opt
 	int devid = ev->param[2];
 	int devid = ev->param[2];
 	int workerid = ev->param[1];
 	int workerid = ev->param[1];
 	int nodeid = ev->param[3];
 	int nodeid = ev->param[3];
-	int set = ev->param[4];
-	int threadid = ev->param[5];
+	int bindid = ev->param[4];
+	int set = ev->param[5];
+	int threadid = ev->param[6];
 	int new_thread;
 	int new_thread;
 
 
 	new_thread = register_worker_id(threadid, workerid, set);
 	new_thread = register_worker_id(threadid, workerid, set);
@@ -529,7 +530,7 @@ static void handle_worker_init_start(struct fxt_ev_64 *ev, struct starpu_fxt_opt
 		char memnode_container[STARPU_POTI_STR_LEN];
 		char memnode_container[STARPU_POTI_STR_LEN];
 		memnode_container_alias(memnode_container, STARPU_POTI_STR_LEN, prefix, nodeid);
 		memnode_container_alias(memnode_container, STARPU_POTI_STR_LEN, prefix, nodeid);
 		char new_thread_container_name[STARPU_POTI_STR_LEN];
 		char new_thread_container_name[STARPU_POTI_STR_LEN];
-		snprintf(new_thread_container_name, STARPU_POTI_STR_LEN, "%s%d", prefix, threadid);
+		snprintf(new_thread_container_name, STARPU_POTI_STR_LEN, "%s%d", prefix, bindid);
 		char new_worker_container_name[STARPU_POTI_STR_LEN];
 		char new_worker_container_name[STARPU_POTI_STR_LEN];
 		snprintf(new_worker_container_name, STARPU_POTI_STR_LEN, "%s%s%d", prefix, kindstr, devid);
 		snprintf(new_worker_container_name, STARPU_POTI_STR_LEN, "%s%s%d", prefix, kindstr, devid);
 		if (new_thread)
 		if (new_thread)
@@ -538,7 +539,7 @@ static void handle_worker_init_start(struct fxt_ev_64 *ev, struct starpu_fxt_opt
 #else
 #else
 		if (new_thread)
 		if (new_thread)
 			fprintf(out_paje_file, "7	%.9f	%st%d	T	%smn%d	%s%d\n",
 			fprintf(out_paje_file, "7	%.9f	%st%d	T	%smn%d	%s%d\n",
-				get_event_time_stamp(ev, options), prefix, threadid, prefix, nodeid, prefix, threadid);
+				get_event_time_stamp(ev, options), prefix, threadid, prefix, nodeid, prefix, bindid);
 		fprintf(out_paje_file, "7	%.9f	%sw%d	W	%st%d	%s%s%d\n",
 		fprintf(out_paje_file, "7	%.9f	%sw%d	W	%st%d	%s%s%d\n",
 			get_event_time_stamp(ev, options), prefix, workerid, prefix, threadid, prefix, kindstr, devid);
 			get_event_time_stamp(ev, options), prefix, workerid, prefix, threadid, prefix, kindstr, devid);
 #endif
 #endif
@@ -2520,7 +2521,7 @@ void starpu_fxt_write_data_trace(char *filename_in)
 		switch (ev.code)
 		switch (ev.code)
 		{
 		{
 		case _STARPU_FUT_WORKER_INIT_START:
 		case _STARPU_FUT_WORKER_INIT_START:
-			register_worker_id(ev.param[5], ev.param[1], ev.param[4]);
+			register_worker_id(ev.param[6], ev.param[1], ev.param[5]);
 			break;
 			break;
 
 
 		case _STARPU_FUT_START_CODELET_BODY:
 		case _STARPU_FUT_START_CODELET_BODY: