Lines Matching defs:dispatcher
36 * jobs, together with a dispatcher thread that does not run jobs but
61 * | | <dispatcher 0> | | <dispatcher 1> | ... | <dispatcher n> | |
69 * | | <dispatcher n+1> | |
75 * XXX Why one dispatcher per CPU? I did that originally to avoid
78 * with a single dispatcher thread, at the expense of another pointer
80 * order for the dispatcher to schedule it correctly.
393 /* XXX dispatcher */
396 pool->tp_refcnt = 1; /* dispatcher's reference */
875 /* Nobody's idle. Give it to the dispatcher. */
890 /* Notify whomever we gave it to, dispatcher or idle thread. */
914 * dispatcher.
919 * The dispatcher will eventually get to it and the job will
961 /* Thread pool dispatcher thread */
966 struct threadpool_thread *const dispatcher = arg;
967 struct threadpool *const pool = dispatcher->tpt_pool;
978 while (dispatcher->tpt_lwp == NULL)
979 cv_wait(&dispatcher->tpt_cv, &pool->tp_lock);
991 cv_wait(&dispatcher->tpt_cv, &pool->tp_lock);
1054 if (__predict_true(job->job_thread == dispatcher)) {