struct queue_holder_numa

Declaration

template <typename QueueType>
struct queue_holder_numa { /* full declaration omitted */ };

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:55

Member Variables

public std::size_t num_queues_
public std::size_t domain_
public std::vector<ThreadQueue*> queues_

Method Overview

Methods

void abort_all_suspended_threads()

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:240

bool add_new(
    pika::threads::policies::queue_holder_numa::
        ThreadQueue* receiver,
    std::size_t qidx,
    std::size_t& added,
    bool stealing,
    bool allow_stealing)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:189

Parameters

pika::threads::policies::queue_holder_numa:: ThreadQueue* receiver
std::size_t qidx
std::size_t& added
bool stealing
bool allow_stealing

bool add_new_HP(
    pika::threads::policies::queue_holder_numa::
        ThreadQueue* receiver,
    std::size_t qidx,
    std::size_t& added,
    bool stealing,
    bool allow_stealing)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:158

Parameters

pika::threads::policies::queue_holder_numa:: ThreadQueue* receiver
std::size_t qidx
std::size_t& added
bool stealing
bool allow_stealing

void debug_info()

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:293

bool dump_suspended_threads(std::size_t,
                            std::int64_t&,
                            bool)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:286

Parameters

std::size_t
std::int64_t&
bool

bool enumerate_threads(
    const util::function<bool(thread_id_type)>& f,
    pika::threads::thread_schedule_state state)
    const

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:247

Parameters

const util::function<bool(thread_id_type)>& f
pika::threads::thread_schedule_state state

inline std::size_t get_new_tasks_queue_length()
    const

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:220

inline bool get_next_thread(
    std::size_t qidx,
    threads::thread_id_ref_type& thrd,
    bool stealing,
    bool core_stealing)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:129

Parameters

std::size_t qidx
threads::thread_id_ref_type& thrd
bool stealing
bool core_stealing

inline bool get_next_thread_HP(
    std::size_t qidx,
    threads::thread_id_ref_type& thrd,
    bool stealing,
    bool core_stealing)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:98

Parameters

std::size_t qidx
threads::thread_id_ref_type& thrd
bool stealing
bool core_stealing

inline std::int64_t get_thread_count(
    pika::threads::thread_schedule_state state =
        thread_schedule_state::unknown,
    pika::threads::thread_priority priority =
        thread_priority::default_) const

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:229

Parameters

pika::threads::thread_schedule_state state = thread_schedule_state::unknown
pika::threads::thread_priority priority = thread_priority::default_

void increment_num_pending_accesses(
    std::size_t = 1)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:279

Parameters

std::size_t = 1

void increment_num_pending_misses(std::size_t = 1)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:278

Parameters

std::size_t = 1

void increment_num_stolen_from_pending(
    std::size_t = 1)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:280

Parameters

std::size_t = 1

void increment_num_stolen_from_staged(
    std::size_t = 1)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:281

Parameters

std::size_t = 1

void increment_num_stolen_to_pending(
    std::size_t = 1)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:282

Parameters

std::size_t = 1

void increment_num_stolen_to_staged(
    std::size_t = 1)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:283

Parameters

std::size_t = 1

void init(std::size_t domain, std::size_t queues)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:77

Parameters

std::size_t domain
std::size_t queues

void on_error(std::size_t,
              const std::exception_ptr&)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:302

Parameters

std::size_t
const std::exception_ptr&

void on_start_thread(std::size_t)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:300

Parameters

std::size_t

void on_stop_thread(std::size_t)

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:301

Parameters

std::size_t

queue_holder_numa<QueueType>()

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:61

inline std::size_t size() const

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:86

inline pika::threads::policies::
    queue_holder_numa::ThreadQueue*
    thread_queue(std::size_t id) const

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:92

Parameters

std::size_t id

~queue_holder_numa<QueueType>()

Declared at: libs/pika/schedulers/include/pika/schedulers/queue_holder_numa.hpp:68