Lines Matching defs:num_threads
300 while (thread_index < queue->num_threads && queue->num_queued == 0)
303 /* only kill threads that are above "num_threads" */
304 if (thread_index >= queue->num_threads) {
327 if (queue->num_threads == 0) {
374 util_queue_adjust_num_threads(struct util_queue *queue, unsigned num_threads)
376 num_threads = MIN2(num_threads, queue->max_threads);
377 num_threads = MAX2(num_threads, 1);
380 unsigned old_num_threads = queue->num_threads;
382 if (num_threads == old_num_threads) {
387 if (num_threads < old_num_threads) {
388 util_queue_kill_threads(queue, num_threads, true);
395 * We need to update num_threads first, because threads terminate
396 * when thread_index < num_threads.
398 queue->num_threads = num_threads;
399 for (unsigned i = old_num_threads; i < num_threads; i++) {
410 unsigned num_threads,
444 queue->max_threads = num_threads;
445 queue->num_threads = num_threads;
460 queue->threads = (thrd_t*) calloc(num_threads, sizeof(thrd_t));
465 for (i = 0; i < num_threads; i++) {
472 queue->num_threads = i;
505 if (keep_num_threads >= queue->num_threads) {
511 unsigned old_num_threads = queue->num_threads;
512 /* Setting num_threads is what causes the threads to terminate.
515 queue->num_threads = keep_num_threads;
550 if (queue->num_threads == 0) {
669 fences = malloc(queue->num_threads * sizeof(*fences));
670 util_barrier_init(&barrier, queue->num_threads);
672 for (unsigned i = 0; i < queue->num_threads; ++i) {
677 for (unsigned i = 0; i < queue->num_threads; ++i) {
692 if (thread_index >= queue->num_threads)