Forráskód Böngészése

use the function getting the id of the global ctx

Andra Hugo 12 éve
szülő
commit
4a030a3cda
4 módosított fájl, 10 hozzáadás és 12 törlés
  1. 6 6
      src/core/sched_ctx.c
  2. 1 3
      src/core/sched_ctx.h
  3. 2 2
      src/core/task.c
  4. 1 1
      src/core/workers.c

+ 6 - 6
src/core/sched_ctx.c

@@ -1042,7 +1042,7 @@ void starpu_sched_ctx_finished_submit(unsigned sched_ctx_id)
 void _starpu_sched_ctx_call_poped_task_cb(int workerid, struct starpu_task *task, size_t data_size, uint32_t footprint)
 {
 	struct _starpu_sched_ctx *sched_ctx = _starpu_get_sched_ctx_struct(task->sched_ctx);
-	if(sched_ctx != NULL && task->sched_ctx != 0 && task->sched_ctx != STARPU_NMAX_SCHED_CTXS
+	if(sched_ctx != NULL && task->sched_ctx != _starpu_get_initial_sched_ctx()->id && task->sched_ctx != STARPU_NMAX_SCHED_CTXS
 	   && sched_ctx->perf_counters != NULL)
 		sched_ctx->perf_counters->notify_poped_task(task->sched_ctx, workerid, task, data_size, footprint);
 }
@@ -1051,7 +1051,7 @@ void starpu_sched_ctx_call_pushed_task_cb(int workerid, unsigned sched_ctx_id)
 {
 	struct _starpu_sched_ctx *sched_ctx = _starpu_get_sched_ctx_struct(sched_ctx_id);
 
-	if(sched_ctx != NULL && sched_ctx_id != 0 && sched_ctx_id != STARPU_NMAX_SCHED_CTXS
+	if(sched_ctx != NULL && sched_ctx_id != _starpu_get_initial_sched_ctx()->id && sched_ctx_id != STARPU_NMAX_SCHED_CTXS
 	   && sched_ctx->perf_counters != NULL)
 		sched_ctx->perf_counters->notify_pushed_task(sched_ctx_id, workerid);
 }
@@ -1059,22 +1059,22 @@ void starpu_sched_ctx_call_pushed_task_cb(int workerid, unsigned sched_ctx_id)
 
 int starpu_sched_get_min_priority(void)
 {
-	return starpu_sched_ctx_get_min_priority(0);
+	return starpu_sched_ctx_get_min_priority(_starpu_get_initial_sched_ctx()->id);
 }
 
 int starpu_sched_get_max_priority(void)
 {
-	return starpu_sched_ctx_get_max_priority(0);
+	return starpu_sched_ctx_get_max_priority(_starpu_get_initial_sched_ctx()->id);
 }
 
 int starpu_sched_set_min_priority(int min_prio)
 {
-	return starpu_sched_ctx_set_min_priority(0, min_prio);
+	return starpu_sched_ctx_set_min_priority(_starpu_get_initial_sched_ctx()->id, min_prio);
 }
 
 int starpu_sched_set_max_priority(int max_prio)
 {
-	return starpu_sched_ctx_set_max_priority(0, max_prio);
+	return starpu_sched_ctx_set_max_priority(_starpu_get_initial_sched_ctx()->id, max_prio);
 }
 
 int starpu_sched_ctx_get_min_priority(unsigned sched_ctx_id)

+ 1 - 3
src/core/sched_ctx.h

@@ -28,9 +28,7 @@
 #define REQ_RESIZE 0
 #define DO_RESIZE 1
 
-
-/* used when changes (delete, modify) are applyed to contexts */
-//extern starpu_pthread_mutex_t _changing_ctx_mutex[];
+#define STARPU_GLOBAL_SCHED_CTX 0
 
 struct _starpu_sched_ctx
 {

+ 2 - 2
src/core/task.c

@@ -215,7 +215,7 @@ int _starpu_submit_job(struct _starpu_job *j)
 
 #ifdef STARPU_USE_SCHED_CTX_HYPERVISOR
 	struct _starpu_sched_ctx *sched_ctx = _starpu_get_sched_ctx_struct(j->task->sched_ctx);
-	if(sched_ctx != NULL && j->task->sched_ctx != 0 && j->task->sched_ctx != STARPU_NMAX_SCHED_CTXS
+	if(sched_ctx != NULL && j->task->sched_ctx != _starpu_get_initial_sched_ctx()->id && j->task->sched_ctx != STARPU_NMAX_SCHED_CTXS
 	   && sched_ctx->perf_counters != NULL)
 	{
 		_starpu_compute_buffers_footprint(j->task->cl->model, STARPU_CPU_DEFAULT, 0, j);
@@ -365,7 +365,7 @@ int starpu_task_submit(struct starpu_task *task)
 	* allocated. */
 	struct _starpu_job *j = _starpu_get_job_associated_to_task(task);
 
-	if (task->sched_ctx == 0 && nsched_ctxs != 1 && !j->internal)
+	if (task->sched_ctx == _starpu_get_initial_sched_ctx()->id  && nsched_ctxs != 1 && !j->internal)
 	{
 		set_sched_ctx = starpu_sched_ctx_get_context();
 		if (set_sched_ctx != STARPU_NMAX_SCHED_CTXS)

+ 1 - 1
src/core/workers.c

@@ -1331,7 +1331,7 @@ int starpu_worker_get_nids_ctx_free_by_type(enum starpu_archtype type, int *work
 
 struct _starpu_sched_ctx* _starpu_get_initial_sched_ctx(void)
 {
-	return &config.sched_ctxs[0];
+	return &config.sched_ctxs[STARPU_GLOBAL_SCHED_CTX];
 }
 
 int