Lines Matching refs:thread_data
28 kmp_thread_data_t *thread_data);
43 kmp_thread_data_t *thread_data, in __kmp_trace_task_stack() argument
45 kmp_task_stack_t *task_stack = &thread_data->td.td_susp_tied_tasks; in __kmp_trace_task_stack()
97 kmp_thread_data_t *thread_data) { in __kmp_init_task_stack() argument
98 kmp_task_stack_t *task_stack = &thread_data->td.td_susp_tied_tasks; in __kmp_init_task_stack()
118 kmp_thread_data_t *thread_data) { in __kmp_free_task_stack() argument
119 kmp_task_stack_t *task_stack = &thread_data->td.td_susp_tied_tasks; in __kmp_free_task_stack()
149 kmp_thread_data_t *thread_data = in __kmp_push_task_stack() local
151 kmp_task_stack_t *task_stack = &thread_data->td.td_susp_tied_tasks; in __kmp_push_task_stack()
208 kmp_thread_data_t *thread_data = in __kmp_pop_task_stack() local
210 kmp_task_stack_t *task_stack = &thread_data->td.td_susp_tied_tasks; in __kmp_pop_task_stack()
297 kmp_thread_data_t *thread_data) { in __kmp_realloc_task_deque() argument
298 kmp_int32 size = TASK_DEQUE_SIZE(thread_data->td); in __kmp_realloc_task_deque()
299 KMP_DEBUG_ASSERT(TCR_4(thread_data->td.td_deque_ntasks) == size); in __kmp_realloc_task_deque()
304 __kmp_gtid_from_thread(thread), size, new_size, thread_data)); in __kmp_realloc_task_deque()
310 for (i = thread_data->td.td_deque_head, j = 0; j < size; in __kmp_realloc_task_deque()
311 i = (i + 1) & TASK_DEQUE_MASK(thread_data->td), j++) in __kmp_realloc_task_deque()
312 new_deque[j] = thread_data->td.td_deque[i]; in __kmp_realloc_task_deque()
314 __kmp_free(thread_data->td.td_deque); in __kmp_realloc_task_deque()
316 thread_data->td.td_deque_head = 0; in __kmp_realloc_task_deque()
317 thread_data->td.td_deque_tail = size; in __kmp_realloc_task_deque()
318 thread_data->td.td_deque = new_deque; in __kmp_realloc_task_deque()
319 thread_data->td.td_deque_size = new_size; in __kmp_realloc_task_deque()
335 kmp_thread_data_t *thread_data; in __kmp_push_task() local
369 thread_data = &task_team->tt.tt_threads_data[tid]; in __kmp_push_task()
374 if (UNLIKELY(thread_data->td.td_deque == NULL)) { in __kmp_push_task()
375 __kmp_alloc_task_deque(thread, thread_data); in __kmp_push_task()
380 if (TCR_4(thread_data->td.td_deque_ntasks) >= in __kmp_push_task()
381 TASK_DEQUE_SIZE(thread_data->td)) { in __kmp_push_task()
390 __kmp_acquire_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_push_task()
392 if (TCR_4(thread_data->td.td_deque_ntasks) >= in __kmp_push_task()
393 TASK_DEQUE_SIZE(thread_data->td)) { in __kmp_push_task()
395 __kmp_realloc_task_deque(thread, thread_data); in __kmp_push_task()
401 __kmp_acquire_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_push_task()
403 if (TCR_4(thread_data->td.td_deque_ntasks) >= in __kmp_push_task()
404 TASK_DEQUE_SIZE(thread_data->td)) { in __kmp_push_task()
408 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_push_task()
415 __kmp_realloc_task_deque(thread, thread_data); in __kmp_push_task()
420 KMP_DEBUG_ASSERT(TCR_4(thread_data->td.td_deque_ntasks) < in __kmp_push_task()
421 TASK_DEQUE_SIZE(thread_data->td)); in __kmp_push_task()
423 thread_data->td.td_deque[thread_data->td.td_deque_tail] = in __kmp_push_task()
426 thread_data->td.td_deque_tail = in __kmp_push_task()
427 (thread_data->td.td_deque_tail + 1) & TASK_DEQUE_MASK(thread_data->td); in __kmp_push_task()
428 TCW_4(thread_data->td.td_deque_ntasks, in __kmp_push_task()
429 TCR_4(thread_data->td.td_deque_ntasks) + 1); // Adjust task count in __kmp_push_task()
434 gtid, taskdata, thread_data->td.td_deque_ntasks, in __kmp_push_task()
435 thread_data->td.td_deque_head, thread_data->td.td_deque_tail)); in __kmp_push_task()
439 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_push_task()
1272 kmp_thread_data_t *thread_data = &task_team->tt.tt_threads_data[tid]; in __kmp_task_alloc() local
1274 if (thread_data->td.td_deque == NULL) { in __kmp_task_alloc()
1275 __kmp_alloc_task_deque(encountering_thread, thread_data); in __kmp_task_alloc()
2666 kmp_thread_data_t *thread_data; in __kmp_remove_my_task() local
2673 thread_data = &task_team->tt.tt_threads_data[__kmp_tid_from_gtid(gtid)]; in __kmp_remove_my_task()
2676 gtid, thread_data->td.td_deque_ntasks, in __kmp_remove_my_task()
2677 thread_data->td.td_deque_head, thread_data->td.td_deque_tail)); in __kmp_remove_my_task()
2679 if (TCR_4(thread_data->td.td_deque_ntasks) == 0) { in __kmp_remove_my_task()
2683 gtid, thread_data->td.td_deque_ntasks, in __kmp_remove_my_task()
2684 thread_data->td.td_deque_head, thread_data->td.td_deque_tail)); in __kmp_remove_my_task()
2688 __kmp_acquire_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_remove_my_task()
2690 if (TCR_4(thread_data->td.td_deque_ntasks) == 0) { in __kmp_remove_my_task()
2691 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_remove_my_task()
2695 gtid, thread_data->td.td_deque_ntasks, in __kmp_remove_my_task()
2696 thread_data->td.td_deque_head, thread_data->td.td_deque_tail)); in __kmp_remove_my_task()
2700 tail = (thread_data->td.td_deque_tail - 1) & in __kmp_remove_my_task()
2701 TASK_DEQUE_MASK(thread_data->td); // Wrap index. in __kmp_remove_my_task()
2702 taskdata = thread_data->td.td_deque[tail]; in __kmp_remove_my_task()
2707 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_remove_my_task()
2711 gtid, thread_data->td.td_deque_ntasks, in __kmp_remove_my_task()
2712 thread_data->td.td_deque_head, thread_data->td.td_deque_tail)); in __kmp_remove_my_task()
2716 thread_data->td.td_deque_tail = tail; in __kmp_remove_my_task()
2717 TCW_4(thread_data->td.td_deque_ntasks, thread_data->td.td_deque_ntasks - 1); in __kmp_remove_my_task()
2719 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_remove_my_task()
2723 gtid, taskdata, thread_data->td.td_deque_ntasks, in __kmp_remove_my_task()
2724 thread_data->td.td_deque_head, thread_data->td.td_deque_tail)); in __kmp_remove_my_task()
3237 kmp_thread_data_t *thread_data) { in __kmp_alloc_task_deque() argument
3238 __kmp_init_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_alloc_task_deque()
3239 KMP_DEBUG_ASSERT(thread_data->td.td_deque == NULL); in __kmp_alloc_task_deque()
3242 thread_data->td.td_deque_last_stolen = -1; in __kmp_alloc_task_deque()
3244 KMP_DEBUG_ASSERT(TCR_4(thread_data->td.td_deque_ntasks) == 0); in __kmp_alloc_task_deque()
3245 KMP_DEBUG_ASSERT(thread_data->td.td_deque_head == 0); in __kmp_alloc_task_deque()
3246 KMP_DEBUG_ASSERT(thread_data->td.td_deque_tail == 0); in __kmp_alloc_task_deque()
3251 __kmp_gtid_from_thread(thread), INITIAL_TASK_DEQUE_SIZE, thread_data)); in __kmp_alloc_task_deque()
3255 thread_data->td.td_deque = (kmp_taskdata_t **)__kmp_allocate( in __kmp_alloc_task_deque()
3257 thread_data->td.td_deque_size = INITIAL_TASK_DEQUE_SIZE; in __kmp_alloc_task_deque()
3263 static void __kmp_free_task_deque(kmp_thread_data_t *thread_data) { in __kmp_free_task_deque() argument
3264 if (thread_data->td.td_deque != NULL) { in __kmp_free_task_deque()
3265 __kmp_acquire_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_free_task_deque()
3266 TCW_4(thread_data->td.td_deque_ntasks, 0); in __kmp_free_task_deque()
3267 __kmp_free(thread_data->td.td_deque); in __kmp_free_task_deque()
3268 thread_data->td.td_deque = NULL; in __kmp_free_task_deque()
3269 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_free_task_deque()
3274 if (thread_data->td.td_susp_tied_tasks.ts_entries != TASK_STACK_EMPTY) { in __kmp_free_task_deque()
3275 __kmp_free_task_stack(__kmp_thread_from_gtid(gtid), thread_data); in __kmp_free_task_deque()
3337 kmp_thread_data_t *thread_data = &(*threads_data_p)[i]; in __kmp_realloc_task_threads_data() local
3338 __kmp_init_task_stack(__kmp_gtid_from_thread(thread), thread_data); in __kmp_realloc_task_threads_data()
3356 kmp_thread_data_t *thread_data = &(*threads_data_p)[i]; in __kmp_realloc_task_threads_data() local
3357 __kmp_init_task_stack(__kmp_gtid_from_thread(thread), thread_data); in __kmp_realloc_task_threads_data()
3369 kmp_thread_data_t *thread_data = &(*threads_data_p)[i]; in __kmp_realloc_task_threads_data() local
3370 thread_data->td.td_thr = team->t.t_threads[i]; in __kmp_realloc_task_threads_data()
3372 if (thread_data->td.td_deque_last_stolen >= nthreads) { in __kmp_realloc_task_threads_data()
3376 thread_data->td.td_deque_last_stolen = -1; in __kmp_realloc_task_threads_data()
3641 kmp_thread_data_t *thread_data = &task_team->tt.tt_threads_data[j]; in __kmp_task_team_setup() local
3642 if (thread_data->td.td_deque == NULL) { in __kmp_task_team_setup()
3643 __kmp_alloc_task_deque(__kmp_hidden_helper_threads[j], thread_data); in __kmp_task_team_setup()
3770 kmp_thread_data_t *thread_data = &task_team->tt.tt_threads_data[tid]; in __kmp_give_task() local
3772 if (thread_data->td.td_deque == NULL) { in __kmp_give_task()
3781 if (TCR_4(thread_data->td.td_deque_ntasks) >= in __kmp_give_task()
3782 TASK_DEQUE_SIZE(thread_data->td)) { in __kmp_give_task()
3790 if (TASK_DEQUE_SIZE(thread_data->td) / INITIAL_TASK_DEQUE_SIZE >= pass) in __kmp_give_task()
3793 __kmp_acquire_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_give_task()
3794 if (TCR_4(thread_data->td.td_deque_ntasks) >= in __kmp_give_task()
3795 TASK_DEQUE_SIZE(thread_data->td)) { in __kmp_give_task()
3797 __kmp_realloc_task_deque(thread, thread_data); in __kmp_give_task()
3802 __kmp_acquire_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_give_task()
3804 if (TCR_4(thread_data->td.td_deque_ntasks) >= in __kmp_give_task()
3805 TASK_DEQUE_SIZE(thread_data->td)) { in __kmp_give_task()
3812 if (TASK_DEQUE_SIZE(thread_data->td) / INITIAL_TASK_DEQUE_SIZE >= pass) in __kmp_give_task()
3815 __kmp_realloc_task_deque(thread, thread_data); in __kmp_give_task()
3821 thread_data->td.td_deque[thread_data->td.td_deque_tail] = taskdata; in __kmp_give_task()
3823 thread_data->td.td_deque_tail = in __kmp_give_task()
3824 (thread_data->td.td_deque_tail + 1) & TASK_DEQUE_MASK(thread_data->td); in __kmp_give_task()
3825 TCW_4(thread_data->td.td_deque_ntasks, in __kmp_give_task()
3826 TCR_4(thread_data->td.td_deque_ntasks) + 1); in __kmp_give_task()
3833 __kmp_release_bootstrap_lock(&thread_data->td.td_deque_lock); in __kmp_give_task()