| /oneTBB/src/tbb/ |
| H A D | task_dispatcher.h | 103 task_accessor::isolation(m_resume_task) = no_isolation; in suspend_point_type() 134 result = get_mailbox_task(inbox, ed, isolation); in get_inbox_or_critical_task() 148 isolation_type isolation, bool critical_allowed) in get_stream_or_critical_task() argument 160 isolation_type isolation, bool critical_allowed) in steal_or_get_critical() argument 164 ed.isolation = task_accessor::isolation(*t); in steal_or_get_critical() 213 else if (fifo_allowed && isolation == no_isolation in receive_or_steal_task() 227 ed.isolation = task_accessor::isolation(*t); in receive_or_steal_task() 266 const isolation_type isolation = dl_guard.old_execute_data_ext.isolation; in local_wait_for_all() local 307 …_TBB_ASSERT(task_accessor::is_resume_task(*t) || isolation == no_isolation || isolation == ed.isol… in local_wait_for_all() 347 ed.isolation = task_accessor::isolation(*t); in local_wait_for_all() [all …]
|
| H A D | arena_slot.cpp | 28 …t::get_task_impl(size_t T, execution_data_ext& ed, bool& tasks_omitted, isolation_type isolation) { in get_task_impl() argument 38 bool omit = isolation != no_isolation && isolation != task_accessor::isolation(*result); in get_task_impl() 61 d1::task* arena_slot::get_task(execution_data_ext& ed, isolation_type isolation) { in get_task() argument 99 result = get_task_impl( T, ed, tasks_omitted, isolation ); in get_task() 148 d1::task* arena_slot::steal_task(arena& a, isolation_type isolation, std::size_t slot_index) { in steal_task() argument 172 if (isolation == no_isolation || isolation == task_accessor::isolation(*result)) { in steal_task()
|
| H A D | task_dispatcher.cpp | 38 task_accessor::isolation(t) = tls->my_task_dispatcher->m_execute_data_ext.isolation; in spawn() 52 task_accessor::isolation(t) = ed.isolation; in spawn() 61 task_accessor::isolation(*proxy) = ed.isolation; in spawn() 86 task_accessor::isolation(t) = tls.my_task_dispatcher->m_execute_data_ext.isolation; in submit() 163 task_accessor::isolation(*t) = tls->my_task_dispatcher->m_execute_data_ext.isolation; in execute_and_wait()
|
| H A D | mailbox.h | 115 task_proxy* internal_pop( isolation_type isolation ) { in internal_pop() argument 120 if ( isolation != no_isolation ) { in internal_pop() 121 while ( task_accessor::isolation(*curr) != isolation ) { in internal_pop() 221 task_proxy* pop( isolation_type isolation ) { in pop() argument 222 return my_putter->internal_pop( isolation ); in pop()
|
| H A D | arena.h | 333 …eal_task(unsigned arena_index, FastRandom& frnd, execution_data_ext& ed, isolation_type isolation); 341 d1::task* get_critical_task(unsigned& hint, isolation_type isolation); 436 …al_task(unsigned arena_index, FastRandom& frnd, execution_data_ext& ed, isolation_type isolation) { in steal_task() argument 455 if (pool == EmptyTaskPool || !(t = victim->steal_task(*this, isolation, k))) { in steal_task() 492 inline d1::task* arena::get_critical_task(unsigned& hint, isolation_type isolation) { in get_critical_task() argument 496 if ( isolation != no_isolation ) { in get_critical_task() 497 return my_critical_task_stream.pop_specific( hint, isolation ); in get_critical_task()
|
| H A D | scheduler_common.h | 95 isolation_type isolation{}; 111 static isolation_type& isolation(d1::task& t) { in isolation() function 488 …d1::task* get_mailbox_task(mail_inbox& my_inbox, execution_data_ext& ed, isolation_type isolation); in alignas() 494 isolation_type isolation, bool outermost, bool criticality_absence); in alignas() 523 isolation_type set_isolation(isolation_type isolation) { in alignas() 524 isolation_type prev = m_execute_data_ext.isolation; in alignas() 525 m_execute_data_ext.isolation = isolation; in alignas()
|
| H A D | task_stream.h | 205 d1::task* pop_specific( unsigned& last_used_lane, isolation_type isolation ) { in pop_specific() argument 214 result = look_specific( lane.my_queue, isolation ); in pop_specific() 260 d1::task* look_specific( typename lane_t::queue_base_t& queue, isolation_type isolation ) { in look_specific() argument 268 if( result && task_accessor::isolation(*result) == isolation ) { in look_specific()
|
| H A D | arena.cpp | 446 task_accessor::isolation(t) = no_isolation; in enqueue_task() 652 ed_ext.isolation = no_isolation; in nested_arena_context() 704 __TBB_ASSERT(ed_ext.task_disp->m_execute_data_ext.isolation == no_isolation, nullptr); in execute() 853 void isolate_within_arena(d1::delegate_base& d, std::intptr_t isolation) { in isolate_within_arena() argument 858 isolation_type previous_isolation = dispatcher->m_execute_data_ext.isolation; in isolate_within_arena() 861 … isolation_type current_isolation = isolation ? isolation : reinterpret_cast<isolation_type>(&d); in isolate_within_arena()
|
| H A D | arena_slot.h | 208 …sk* get_task_impl(size_t T, execution_data_ext& ed, bool& tasks_omitted, isolation_type isolation);
|
| /oneTBB/doc/main/tbb_userguide/ |
| H A D | work_isolation.rst | 88 However, using a separate arena for work isolation is not always 91 which runs a user-provided functor in isolation by restricting the 93 functor (also called the isolation region). 103 The isolation region imposes restrictions only upon the thread that
|