Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
The structure of an arena, except the array of slots. More...
#include <arena.h>
Public Attributes | |
unsigned | my_num_workers_allotted |
The number of workers that have been marked out by the resource manager to service the arena. More... | |
atomic< unsigned > | my_references |
Reference counter for the arena. More... | |
atomic< unsigned > | my_limit |
The maximal number of currently busy slots. More... | |
task_stream< num_priority_levels > | my_task_stream |
Task pool for the tasks scheduled via task::enqueue() method. More... | |
unsigned | my_max_num_workers |
The number of workers requested by the master thread owning the arena. More... | |
int | my_num_workers_requested |
The number of workers that are currently requested from the resource manager. More... | |
tbb::atomic< uintptr_t > | my_pool_state |
Current task pool state and estimate of available tasks amount. More... | |
market * | my_market |
The market that owns this arena. More... | |
uintptr_t | my_aba_epoch |
ABA prevention marker. More... | |
cpu_ctl_env | my_cpu_ctl_env |
FPU control settings of arena's master thread captured at the moment of arena instantiation. More... | |
unsigned | my_num_slots |
The number of slots in the arena. More... | |
unsigned | my_num_reserved_slots |
The number of reserved slots (can be occupied only by masters). More... | |
concurrent_monitor | my_exit_monitors |
Waiting object for master threads that cannot join the arena. More... | |
![]() | |
char | pad [S - R] |
The structure of an arena, except the array of slots.
Separated in order to simplify padding. Intrusive list node base class is used by market to form a list of arenas.
uintptr_t tbb::internal::arena_base::my_aba_epoch |
cpu_ctl_env tbb::internal::arena_base::my_cpu_ctl_env |
concurrent_monitor tbb::internal::arena_base::my_exit_monitors |
atomic<unsigned> tbb::internal::arena_base::my_limit |
market* tbb::internal::arena_base::my_market |
unsigned tbb::internal::arena_base::my_max_num_workers |
unsigned tbb::internal::arena_base::my_num_reserved_slots |
unsigned tbb::internal::arena_base::my_num_slots |
unsigned tbb::internal::arena_base::my_num_workers_allotted |
int tbb::internal::arena_base::my_num_workers_requested |
tbb::atomic<uintptr_t> tbb::internal::arena_base::my_pool_state |
Current task pool state and estimate of available tasks amount.
The estimate is either 0 (SNAPSHOT_EMPTY) or infinity (SNAPSHOT_FULL). Special state is "busy" (any other unsigned value). Note that the implementation of arena::is_busy_or_empty() requires my_pool_state to be unsigned.
atomic<unsigned> tbb::internal::arena_base::my_references |
Reference counter for the arena.
Worker and master references are counted separately: first several bits are for references from master threads or explicit task_arenas (see arena::ref_external_bits below); the rest counts the number of workers servicing the arena.
task_stream<num_priority_levels> tbb::internal::arena_base::my_task_stream |
Task pool for the tasks scheduled via task::enqueue() method.
Such scheduling guarantees eventual execution even if