Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::internal::binding_handler Class Reference
Collaboration diagram for tbb::internal::binding_handler:

Public Member Functions

 binding_handler (size_t size)
 
 ~binding_handler ()
 
void bind_thread_to_node (unsigned slot_num, unsigned numa_node_id)
 
void restore_previous_affinity_mask (unsigned slot_num)
 

Private Types

typedef std::vector< platform_topology::affinity_maskaffinity_masks_container
 

Private Attributes

affinity_masks_container affinity_backup
 

Detailed Description

Definition at line 225 of file tbb_bind.cpp.

Member Typedef Documentation

◆ affinity_masks_container

Constructor & Destructor Documentation

◆ binding_handler()

tbb::internal::binding_handler::binding_handler ( size_t  size)
inline

Definition at line 232 of file tbb_bind.cpp.

232  : affinity_backup(size) {
233  for (affinity_masks_container::iterator it = affinity_backup.begin();
234  it != affinity_backup.end(); it++) {
236  }
237  }
affinity_mask allocate_process_affinity_mask()
Definition: tbb_bind.cpp:197
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t size
static platform_topology & instance()
Definition: tbb_bind.cpp:77
affinity_masks_container affinity_backup
Definition: tbb_bind.cpp:229

References affinity_backup, tbb::internal::platform_topology::allocate_process_affinity_mask(), and tbb::internal::platform_topology::instance().

Here is the call graph for this function:

◆ ~binding_handler()

tbb::internal::binding_handler::~binding_handler ( )
inline

Definition at line 239 of file tbb_bind.cpp.

239  {
240  for (affinity_masks_container::iterator it = affinity_backup.begin();
241  it != affinity_backup.end(); it++) {
243  }
244  }
static platform_topology & instance()
Definition: tbb_bind.cpp:77
void free_affinity_mask(affinity_mask mask_to_free)
Definition: tbb_bind.cpp:202
affinity_masks_container affinity_backup
Definition: tbb_bind.cpp:229

References affinity_backup, tbb::internal::platform_topology::free_affinity_mask(), and tbb::internal::platform_topology::instance().

Here is the call graph for this function:

Member Function Documentation

◆ bind_thread_to_node()

void tbb::internal::binding_handler::bind_thread_to_node ( unsigned  slot_num,
unsigned  numa_node_id 
)
inline

Definition at line 246 of file tbb_bind.cpp.

246  {
247  __TBB_ASSERT(slot_num < affinity_backup.size(),
248  "The slot number is greater than the number of slots in the arena");
249  __TBB_ASSERT(platform_topology::instance().is_topology_parsed(),
250  "Trying to get access to uninitialized platform_topology");
252 
254  platform_topology::instance().get_node_affinity_mask(numa_node_id));
255  }
void set_new_affinity_mask(const_affinity_mask new_mask)
Definition: tbb_bind.cpp:214
void store_current_affinity_mask(affinity_mask current_mask)
Definition: tbb_bind.cpp:206
static platform_topology & instance()
Definition: tbb_bind.cpp:77
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
Definition: tbb_stddef.h:165
affinity_masks_container affinity_backup
Definition: tbb_bind.cpp:229

References __TBB_ASSERT, affinity_backup, tbb::internal::platform_topology::instance(), tbb::internal::platform_topology::set_new_affinity_mask(), and tbb::internal::platform_topology::store_current_affinity_mask().

Referenced by tbb::internal::bind_to_node().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ restore_previous_affinity_mask()

void tbb::internal::binding_handler::restore_previous_affinity_mask ( unsigned  slot_num)
inline

Definition at line 257 of file tbb_bind.cpp.

257  {
258  __TBB_ASSERT(platform_topology::instance().is_topology_parsed(),
259  "Trying to get access to uninitialized platform_topology");
261  };
void set_new_affinity_mask(const_affinity_mask new_mask)
Definition: tbb_bind.cpp:214
static platform_topology & instance()
Definition: tbb_bind.cpp:77
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
Definition: tbb_stddef.h:165
affinity_masks_container affinity_backup
Definition: tbb_bind.cpp:229

References __TBB_ASSERT, affinity_backup, tbb::internal::platform_topology::instance(), and tbb::internal::platform_topology::set_new_affinity_mask().

Referenced by tbb::internal::restore_affinity().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ affinity_backup

affinity_masks_container tbb::internal::binding_handler::affinity_backup
private

The documentation for this class was generated from the following file:

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.