Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
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

class  tbb::internal::custom_scheduler< SchedulerTraits >
 A scheduler with a customized evaluation loop. More...
 
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.