瀏覽代碼

avoid expensive loop when not using contexts

Samuel Thibault 9 年之前
父節點
當前提交
9897962e89
共有 1 個文件被更改,包括 3 次插入0 次删除
  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;