Home
last modified time | relevance | path

Searched refs:isolation (Results 1 – 10 of 10) sorted by relevance

/oneTBB/src/tbb/
H A Dtask_dispatcher.h103 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 Darena_slot.cpp28 …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 Dtask_dispatcher.cpp38 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 Dmailbox.h115 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 Darena.h333 …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 Dscheduler_common.h95 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 Dtask_stream.h205 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 Darena.cpp446 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 Darena_slot.h208 …sk* get_task_impl(size_t T, execution_data_ext& ed, bool& tasks_omitted, isolation_type isolation);
/oneTBB/doc/main/tbb_userguide/
H A Dwork_isolation.rst88 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