scheduler_common.h File Reference
`#include "tbb/tbb_machine.h"`
`#include "tbb/cache_aligned_allocator.h"`
`#include <string.h>`
`#include "tbb_statistics.h"`
`#include "tbb/task.h"`
`#include "tbb/tbb_exception.h"`
`#include "tbb/spin_mutex.h"`
`#include <fenv.h>`
Include dependency graph for scheduler_common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes

struct | tbb::internal::arena_slot_line1
struct | tbb::internal::arena_slot_line2
struct | tbb::internal::arena_slot
class | tbb::internal::cpu_ctl_env

## Namespaces

| tbb
| The graph class.
| tbb::interface7
| tbb::interface7::internal
| tbb::internal
| Identifiers declared inside namespace internal should never be used directly by client code.

## Macros

#define | private public
#define | undef_private
#define | __TBB_SCHEDULER_MUTEX_TYPE tbb::spin_mutex
#define | __TBB_CONTEXT_ARG1(context)
#define | __TBB_CONTEXT_ARG(arg1, context) arg1
#define | __TBB_ISOLATION_EXPR(isolation)
#define | __TBB_ISOLATION_ARG(arg1, isolation) arg1
#define | TBB_TRACE(x) ((void)(0))
#define | poison_value(g) ((void)0)

## Typedefs

typedef __TBB_SCHEDULER_MUTEX_TYPE | tbb::internal::scheduler_mutex_type
| Mutex type for global locks in the scheduler. More...

## Enumerations

enum | tbb::internal::task_extra_state { tbb::internal::es_version_1_task = 0 , tbb::internal::es_version_3_task = 1 , tbb::internal::es_task_enqueued = 0x10 , tbb::internal::es_task_proxy = 0x20 , tbb::internal::es_ref_count_active = 0x40 , tbb::internal::es_task_is_stolen = 0x80 }
| Definitions for bits in task_prefix::extra_state. More...
enum | tbb::internal::free_task_hint { tbb::internal::no_hint =0 , tbb::internal::local_task =1 , tbb::internal::small_task =2 , tbb::internal::small_local_task =3 , tbb::internal::no_cache = 4 , tbb::internal::no_cache_small_task = no_cache | small_task }
| Optimization hint to free_task that enables it omit unnecessary tests and code. More...

## Functions

void | tbb::internal::reset_extra_state (task *t)
void | tbb::internal::assert_task_valid (const task *)
bool | tbb::internal::ConcurrentWaitsEnabled (task &t)
void | tbb::internal::prolonged_pause ()

## Variables

static const intptr_t | tbb::internal::num_priority_levels = 1
const size_t | tbb::internal::task_alignment = 32
| Alignment for a task object. More...
const size_t | tbb::internal::task_prefix_reservation_size = ((sizeof(internal::task_prefix)-1)/task_alignment+1)*task_alignment
| Number of bytes reserved for a task prefix. More...

## Macro Definition Documentation

## __TBB_CONTEXT_ARG

#define __TBB_CONTEXT_ARG | ( |  | arg1,
|  |  | context
| ) |  | arg1

Definition at line 60 of file scheduler_common.h.

## __TBB_CONTEXT_ARG1

#define __TBB_CONTEXT_ARG1 | ( |  | context | ) |

Definition at line 59 of file scheduler_common.h.

## __TBB_ISOLATION_ARG

#define __TBB_ISOLATION_ARG | ( |  | arg1,
|  |  | isolation
| ) |  | arg1

Definition at line 68 of file scheduler_common.h.

## __TBB_ISOLATION_EXPR

#define __TBB_ISOLATION_EXPR | ( |  | isolation | ) |

Definition at line 67 of file scheduler_common.h.

## __TBB_SCHEDULER_MUTEX_TYPE

#define __TBB_SCHEDULER_MUTEX_TYPE tbb::spin_mutex

Definition at line 47 of file scheduler_common.h.

## poison_value

#define poison_value | ( |  | g | ) | ((void)0)

In contrast to debug version poison_value() is a macro here because the variable used as its argument may be undefined in release builds.

Definition at line 235 of file scheduler_common.h.

## private

#define private public

Definition at line 35 of file scheduler_common.h.

## TBB_TRACE

#define TBB_TRACE | ( |  | x | ) | ((void)(0))

Definition at line 76 of file scheduler_common.h.

## undef_private

#define undef_private

Definition at line 36 of file scheduler_common.h.

Copyright © 2005-2020 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.