Lines Matching refs:thread_data
31 kmp_thread_data_t *thread_data);
49 kmp_thread_data_t *thread_data, in __kmp_trace_task_stack() argument
51 kmp_task_stack_t *task_stack = &thread_data->td.td_susp_tied_tasks; in __kmp_trace_task_stack()
103 kmp_thread_data_t *thread_data) { in __kmp_init_task_stack() argument
104 kmp_task_stack_t *task_stack = &thread_data->td.td_susp_tied_tasks; in __kmp_init_task_stack()
124 kmp_thread_data_t *thread_data) { in __kmp_free_task_stack() argument
125 kmp_task_stack_t *task_stack = &thread_data->td.td_susp_tied_tasks; in __kmp_free_task_stack()
155 kmp_thread_data_t *thread_data = in __kmp_push_task_stack() local
157 kmp_task_stack_t *task_stack = &thread_data->td.td_susp_tied_tasks; in __kmp_push_task_stack()
214 kmp_thread_data_t *thread_data = in __kmp_pop_task_stack() local
216 kmp_task_stack_t *task_stack = &thread_data->td.td_susp_tied_tasks; in __kmp_pop_task_stack()
303 kmp_thread_data_t *thread_data) { in __kmp_realloc_task_deque() argument
304 kmp_int32 size = TASK_DEQUE_SIZE(thread_data->td); in __kmp_realloc_task_deque()
309 __kmp_gtid_from_thread(thread), size, new_size, thread_data)); in __kmp_realloc_task_deque()
315 for (i = thread_data->td.td_deque_head, j = 0; j < size; in __kmp_realloc_task_deque()
316 i = (i + 1) & TASK_DEQUE_MASK(thread_data->td), j++) in __kmp_realloc_task_deque()
317 new_deque[j] = thread_data->td.td_deque[i]; in __kmp_realloc_task_deque()
319 __kmp_free(thread_data->td.td_deque); in __kmp_realloc_task_deque()
321 thread_data->td.td_deque_head = 0; in __kmp_realloc_task_deque()
322 thread_data->td.td_deque_tail = size; in __kmp_realloc_task_deque()
323 thread_data->td.td_deque = new_deque; in __kmp_realloc_task_deque()
324 thread_data->td.td_deque_size = new_size; in __kmp_realloc_task_deque()
333 kmp_thread_data_t *thread_data; in __kmp_push_task() local
367 thread_data = &task_team->tt.tt_threads_data[tid]; in __kmp_push_task()
370 if (thread_data->td.td_deque == NULL) { in __kmp_push_task()
371 __kmp_alloc_task_deque(thread, thread_data); in __kmp_push_task()
376 if (TCR_4(thread_data->td.td_deque_ntasks) >= in __kmp_push_task()
377 TASK_DEQUE_SIZE(thread_data->td)) { in __kmp_push_task()
385 __kmp_acquire_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_push_task()
388 __kmp_realloc_task_deque(thread, thread_data); in __kmp_push_task()
393 __kmp_acquire_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_push_task()
396 if (TCR_4(thread_data->td.td_deque_ntasks) >= in __kmp_push_task()
397 TASK_DEQUE_SIZE(thread_data->td)) { in __kmp_push_task()
400 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_push_task()
407 __kmp_realloc_task_deque(thread, thread_data); in __kmp_push_task()
413 KMP_DEBUG_ASSERT(TCR_4(thread_data->td.td_deque_ntasks) < in __kmp_push_task()
414 TASK_DEQUE_SIZE(thread_data->td)); in __kmp_push_task()
416 thread_data->td.td_deque[thread_data->td.td_deque_tail] = in __kmp_push_task()
419 thread_data->td.td_deque_tail = in __kmp_push_task()
420 (thread_data->td.td_deque_tail + 1) & TASK_DEQUE_MASK(thread_data->td); in __kmp_push_task()
421 TCW_4(thread_data->td.td_deque_ntasks, in __kmp_push_task()
422 TCR_4(thread_data->td.td_deque_ntasks) + 1); // Adjust task count in __kmp_push_task()
426 gtid, taskdata, thread_data->td.td_deque_ntasks, in __kmp_push_task()
427 thread_data->td.td_deque_head, thread_data->td.td_deque_tail)); in __kmp_push_task()
429 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_push_task()
1219 kmp_thread_data_t *thread_data = &task_team->tt.tt_threads_data[tid]; in __kmp_task_alloc() local
1221 if (thread_data->td.td_deque == NULL) { in __kmp_task_alloc()
1222 __kmp_alloc_task_deque(thread, thread_data); in __kmp_task_alloc()
2357 kmp_thread_data_t *thread_data; in __kmp_remove_my_task() local
2364 thread_data = &task_team->tt.tt_threads_data[__kmp_tid_from_gtid(gtid)]; in __kmp_remove_my_task()
2367 gtid, thread_data->td.td_deque_ntasks, in __kmp_remove_my_task()
2368 thread_data->td.td_deque_head, thread_data->td.td_deque_tail)); in __kmp_remove_my_task()
2370 if (TCR_4(thread_data->td.td_deque_ntasks) == 0) { in __kmp_remove_my_task()
2374 gtid, thread_data->td.td_deque_ntasks, in __kmp_remove_my_task()
2375 thread_data->td.td_deque_head, thread_data->td.td_deque_tail)); in __kmp_remove_my_task()
2379 __kmp_acquire_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_remove_my_task()
2381 if (TCR_4(thread_data->td.td_deque_ntasks) == 0) { in __kmp_remove_my_task()
2382 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_remove_my_task()
2386 gtid, thread_data->td.td_deque_ntasks, in __kmp_remove_my_task()
2387 thread_data->td.td_deque_head, thread_data->td.td_deque_tail)); in __kmp_remove_my_task()
2391 tail = (thread_data->td.td_deque_tail - 1) & in __kmp_remove_my_task()
2392 TASK_DEQUE_MASK(thread_data->td); // Wrap index. in __kmp_remove_my_task()
2393 taskdata = thread_data->td.td_deque[tail]; in __kmp_remove_my_task()
2398 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_remove_my_task()
2402 gtid, thread_data->td.td_deque_ntasks, in __kmp_remove_my_task()
2403 thread_data->td.td_deque_head, thread_data->td.td_deque_tail)); in __kmp_remove_my_task()
2407 thread_data->td.td_deque_tail = tail; in __kmp_remove_my_task()
2408 TCW_4(thread_data->td.td_deque_ntasks, thread_data->td.td_deque_ntasks - 1); in __kmp_remove_my_task()
2410 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_remove_my_task()
2414 gtid, taskdata, thread_data->td.td_deque_ntasks, in __kmp_remove_my_task()
2415 thread_data->td.td_deque_head, thread_data->td.td_deque_tail)); in __kmp_remove_my_task()
2924 kmp_thread_data_t *thread_data) { in __kmp_alloc_task_deque() argument
2925 __kmp_init_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_alloc_task_deque()
2926 KMP_DEBUG_ASSERT(thread_data->td.td_deque == NULL); in __kmp_alloc_task_deque()
2929 thread_data->td.td_deque_last_stolen = -1; in __kmp_alloc_task_deque()
2931 KMP_DEBUG_ASSERT(TCR_4(thread_data->td.td_deque_ntasks) == 0); in __kmp_alloc_task_deque()
2932 KMP_DEBUG_ASSERT(thread_data->td.td_deque_head == 0); in __kmp_alloc_task_deque()
2933 KMP_DEBUG_ASSERT(thread_data->td.td_deque_tail == 0); in __kmp_alloc_task_deque()
2938 __kmp_gtid_from_thread(thread), INITIAL_TASK_DEQUE_SIZE, thread_data)); in __kmp_alloc_task_deque()
2942 thread_data->td.td_deque = (kmp_taskdata_t **)__kmp_allocate( in __kmp_alloc_task_deque()
2944 thread_data->td.td_deque_size = INITIAL_TASK_DEQUE_SIZE; in __kmp_alloc_task_deque()
2950 static void __kmp_free_task_deque(kmp_thread_data_t *thread_data) { in __kmp_free_task_deque() argument
2951 if (thread_data->td.td_deque != NULL) { in __kmp_free_task_deque()
2952 __kmp_acquire_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_free_task_deque()
2953 TCW_4(thread_data->td.td_deque_ntasks, 0); in __kmp_free_task_deque()
2954 __kmp_free(thread_data->td.td_deque); in __kmp_free_task_deque()
2955 thread_data->td.td_deque = NULL; in __kmp_free_task_deque()
2956 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_free_task_deque()
2961 if (thread_data->td.td_susp_tied_tasks.ts_entries != TASK_STACK_EMPTY) { in __kmp_free_task_deque()
2962 __kmp_free_task_stack(__kmp_thread_from_gtid(gtid), thread_data); in __kmp_free_task_deque()
3024 kmp_thread_data_t *thread_data = &(*threads_data_p)[i]; in __kmp_realloc_task_threads_data() local
3025 __kmp_init_task_stack(__kmp_gtid_from_thread(thread), thread_data); in __kmp_realloc_task_threads_data()
3045 kmp_thread_data_t *thread_data = &(*threads_data_p)[i]; in __kmp_realloc_task_threads_data() local
3046 __kmp_init_task_stack(__kmp_gtid_from_thread(thread), thread_data); in __kmp_realloc_task_threads_data()
3058 kmp_thread_data_t *thread_data = &(*threads_data_p)[i]; in __kmp_realloc_task_threads_data() local
3059 thread_data->td.td_thr = team->t.t_threads[i]; in __kmp_realloc_task_threads_data()
3061 if (thread_data->td.td_deque_last_stolen >= nthreads) { in __kmp_realloc_task_threads_data()
3065 thread_data->td.td_deque_last_stolen = -1; in __kmp_realloc_task_threads_data()
3440 kmp_thread_data_t *thread_data = &task_team->tt.tt_threads_data[tid]; in __kmp_give_task() local
3442 if (thread_data->td.td_deque == NULL) { in __kmp_give_task()
3451 if (TCR_4(thread_data->td.td_deque_ntasks) >= in __kmp_give_task()
3452 TASK_DEQUE_SIZE(thread_data->td)) { in __kmp_give_task()
3460 if (TASK_DEQUE_SIZE(thread_data->td) / INITIAL_TASK_DEQUE_SIZE >= pass) in __kmp_give_task()
3463 __kmp_acquire_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_give_task()
3464 __kmp_realloc_task_deque(thread, thread_data); in __kmp_give_task()
3468 __kmp_acquire_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_give_task()
3470 if (TCR_4(thread_data->td.td_deque_ntasks) >= in __kmp_give_task()
3471 TASK_DEQUE_SIZE(thread_data->td)) { in __kmp_give_task()
3478 if (TASK_DEQUE_SIZE(thread_data->td) / INITIAL_TASK_DEQUE_SIZE >= pass) in __kmp_give_task()
3481 __kmp_realloc_task_deque(thread, thread_data); in __kmp_give_task()
3487 thread_data->td.td_deque[thread_data->td.td_deque_tail] = taskdata; in __kmp_give_task()
3489 thread_data->td.td_deque_tail = in __kmp_give_task()
3490 (thread_data->td.td_deque_tail + 1) & TASK_DEQUE_MASK(thread_data->td); in __kmp_give_task()
3491 TCW_4(thread_data->td.td_deque_ntasks, in __kmp_give_task()
3492 TCR_4(thread_data->td.td_deque_ntasks) + 1); in __kmp_give_task()
3499 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_give_task()