Bläddra i källkod

avoid expensive loop when not using contexts

Samuel Thibault 9 år sedan
förälder
incheckning
9897962e89
1 ändrade filer med 3 tillägg och 0 borttagningar
  1. 3 0
      src/core/sched_ctx.c

+ 3 - 0
src/core/sched_ctx.c

@@ -1946,6 +1946,9 @@ unsigned starpu_sched_ctx_master_get_context(int masterid)
 
 struct _starpu_sched_ctx *_starpu_sched_ctx_get_sched_ctx_for_worker_and_job(struct _starpu_worker *worker, struct _starpu_job *j)
 {
+	if (_starpu_get_nsched_ctxs() == 1)
+		return _starpu_get_sched_ctx_struct(0);
+
 	struct _starpu_sched_ctx_elt *e = NULL;
 	struct _starpu_sched_ctx_list_iterator list_it;
 	struct _starpu_sched_ctx *sched_ctx = NULL;