Home
last modified time | relevance | path

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

/oneTBB/src/tbb/
H A Dwaiters.h29 inline d1::task* get_self_recall_task(arena_slot& slot);
57 bool continue_execution(arena_slot& slot, d1::task*& t) const { in continue_execution() argument
60 if (is_worker_should_leave(slot)) { in continue_execution()
65 t = get_self_recall_task(slot); in continue_execution()
85 bool is_worker_should_leave(arena_slot& slot) const { in is_worker_should_leave() argument
127 bool continue_execution(arena_slot& slot, d1::task*& t) const { in continue_execution() argument
131 t = get_self_recall_task(slot); in continue_execution()
163 bool continue_execution(arena_slot& slot, d1::task*& t) const { in continue_execution() argument
165 t = get_self_recall_task(slot); in continue_execution()
169 void pause(arena_slot& slot) { in pause() argument
[all …]
H A Dtask_dispatcher.cpp24 static inline void spawn_and_notify(d1::task& t, arena_slot* slot, arena* a) { in spawn_and_notify() argument
25 slot->spawn(t); in spawn_and_notify()
34 arena_slot* slot = tls->my_arena_slot; in spawn() local
39 spawn_and_notify(t, slot, a); in spawn()
46 arena_slot* slot = tls->my_arena_slot; in spawn() local
64 proxy->slot = id; in spawn()
71 spawn_and_notify(*proxy, slot, a); in spawn()
73 spawn_and_notify(t, slot, a); in spawn()
91 arena_slot* slot = tls.my_arena_slot; in submit() local
94 a->my_critical_task_stream.push( &t, subsequent_lane_selector(slot->critical_hint()) ); in submit()
[all …]
H A Dtask_dispatcher.h44 inline d1::task* get_self_recall_task(arena_slot& slot) { in get_self_recall_task() argument
45 suppress_unused_warning(slot); in get_self_recall_task()
180 arena_slot& slot = *tls.my_arena_slot; in receive_or_steal_task() local
184 unsigned& resume_hint = slot.hint_for_resume_stream; in receive_or_steal_task()
186 unsigned& fifo_hint = slot.hint_for_fifo_stream; in receive_or_steal_task()
199 if (!waiter.continue_execution(slot, t)) { in receive_or_steal_task()
232 waiter.pause(slot); in receive_or_steal_task()
339 arena_slot& slot = *m_thread_data->my_arena_slot; in local_wait_for_all() local
340 if (!waiter.continue_execution(slot, t)) { in local_wait_for_all()
344 if (t || (slot.is_task_pool_published() && (t = slot.get_task(ed, isolation)))) { in local_wait_for_all()
[all …]
H A Dtask.cpp98 arena_slot* slot = m_thread_data->my_arena_slot; in internal_suspend() local
99 __TBB_ASSERT(slot != nullptr, nullptr); in internal_suspend()
101 task_dispatcher& default_task_disp = slot->default_task_dispatcher(); in internal_suspend()
149 arena_slot* slot = td->my_arena_slot; in resume() local
150 __TBB_ASSERT(slot != nullptr, nullptr); in resume()
151 if (this == slot->my_default_task_dispatcher) { in resume()
H A Darena.h301 mail_outbox& mailbox( d1::slot_id slot ) { in mailbox() argument
302 __TBB_ASSERT( slot != d1::no_slot, "affinity should be specified" ); in mailbox()
304 …return reinterpret_cast<mail_outbox*>(this)[-(int)(slot+1)]; // cast to 'int' is redundant but lef… in mailbox()
460 d1::slot_id slot = tp.slot; in steal_task() local
468 ed.affinity_slot = slot; in steal_task()
H A Dmailbox.h48 d1::slot_id slot; member
H A Darena_slot.cpp47 d1::slot_id aff_id = tp.slot; in get_task_impl()
/oneTBB/include/oneapi/tbb/
H A Denumerable_thread_specific.h108 struct slot;
112 slot& at( std::size_t k ) {
113 return (reinterpret_cast<slot*>(reinterpret_cast<void*>(this+1)))[k];
121 struct slot {
146 array* a = static_cast<array*>(create_array(sizeof(array) + n * sizeof(slot)));
148 std::memset( a + 1, 0, n * sizeof(slot) );
153 free_array( static_cast<void*>(a), std::size_t(sizeof(array) + n * sizeof(slot)) );
176 slot& s1 = r->at(i);
179 slot& s2 = root->at(j);
224 slot& s = r->at(i);
[all …]
/oneTBB/doc/main/tbb_userguide/
H A Dattach_flow_graph_to_arena.rst13 thread occupies a slot.
/oneTBB/test/tbb/
H A Dtest_task_arena.cpp346 int slot = tbb::this_task_arena::current_thread_index(); in operator ()() local
347 CHECK(slot >= 0); in operator ()()
348 CHECK(slot <= 1); in operator ()()
350 while(my_stage < 2+slot) utils::yield(); in operator ()()