13#ifndef BOOST_FAIRNESS_CONFIG_HPP
14#define BOOST_FAIRNESS_CONFIG_HPP
18#ifdef BOOST_FAIRNESS_USE_TATAS
22#define BOOST_FAIRNESS_USE_TATAS_SPINLOCK
27#ifndef BOOST_FAIRNESS_GETREQUEST_SPINS
31#define BOOST_FAIRNESS_GETREQUEST_SPINS 1
36#ifndef BOOST_FAIRNESS_GETREQUEST_SPINS_RELAXED
40#define BOOST_FAIRNESS_GETREQUEST_SPINS_RELAXED 1
45#ifndef BOOST_FAIRNESS_SPINWAIT_SPINS
49#define BOOST_FAIRNESS_SPINWAIT_SPINS 16
54#ifndef BOOST_FAIRNESS_SPINWAIT_SPINS_RELAXED
58#define BOOST_FAIRNESS_SPINWAIT_SPINS_RELAXED 12
63#ifndef BOOST_FAIRNESS_WAIT_SPINS
67#define BOOST_FAIRNESS_WAIT_SPINS 16
72#ifndef BOOST_FAIRNESS_WAIT_SPINS_RELAXED
76#define BOOST_FAIRNESS_WAIT_SPINS_RELAXED 12
81#ifndef BOOST_FAIRNESS_HARDWARE_DESTRUCTIVE_SIZE
85#define BOOST_FAIRNESS_HARDWARE_DESTRUCTIVE_SIZE 128
90#ifndef BOOST_FAIRNESS_MAX_PQNODES
96#define BOOST_FAIRNESS_MAX_PQNODES 4
98#define BOOST_FAIRNESS_INVALID_PQNODE_INDEX BOOST_FAIRNESS_MAX_PQNODES
103#ifndef BOOST_FAIRNESS_MAX_THREADS
113#define BOOST_FAIRNESS_MAX_THREADS 4
115#define BOOST_FAIRNESS_INVALID_THREAD_INDEX BOOST_FAIRNESS_MAX_THREADS
123#include <boost/atomic.hpp>
128#if defined(BOOST_ATOMIC_INT128_LOCK_FREE) && BOOST_ATOMIC_INT128_LOCK_FREE > 0
132#define BOOST_FAIRNESS_HAS_DWCAS
141#define BOOST_FAIRNESS_USE_STD_WAIT_NOTIFY
149#if defined(BOOST_FAIRNESS_USE_EXPERIMENTAL_WAIT_NOTIFY)
150#undef BOOST_FAIRNESS_USE_STD_WAIT_NOTIFY
163#if defined(__linux__) && !defined(BOOST_FAIRNESS_USE_STD_WAIT_NOTIFY)
165#elif defined(_WIN32) && !defined(BOOST_FAIRNESS_USE_STD_WAIT_NOTIFY)
169#ifndef BOOST_FAIRNESS_USE_STD_WAIT_NOTIFY
173#define BOOST_FAIRNESS_USE_STD_WAIT_NOTIFY
#define BOOST_FAIRNESS_MAX_PQNODES
The maximum amount of PQNODES that can be used at the same time per pqspinlock. Setting this too low...
Definition config.hpp:96
This file contains the implementation of the pause operations used by the mutexes on linux.
This file contains the implementation of the pause operations used by the mutexes on windows.
This file contains the implementation of the wait operation for misc os.
This file contains the implementation of the wait operation specific for linux.
This file contains the implementation of the wait operation specific for windows.