Halide
|
#include <synchronization_common.h>
Inherited by Halide::Runtime::Internal::Synchronization::broadcast_parking_control, Halide::Runtime::Internal::Synchronization::mutex_parking_control, Halide::Runtime::Internal::Synchronization::signal_parking_control, and Halide::Runtime::Internal::Synchronization::wait_parking_control.
Public Member Functions | |
uintptr_t | park (uintptr_t addr) |
uintptr_t | unpark_one (uintptr_t addr) |
int | unpark_requeue (uintptr_t addr_from, uintptr_t addr_to, uintptr_t unpark_info) |
Protected Member Functions | |
virtual bool | validate (validate_action &action) |
virtual void | before_sleep () |
virtual uintptr_t | unpark (int unparked, bool more_waiters) |
virtual void | requeue_callback (const validate_action &action, bool one_to_wake, bool some_requeued) |
Definition at line 426 of file synchronization_common.h.
Definition at line 447 of file synchronization_common.h.
References before_sleep(), Halide::Runtime::Internal::Synchronization::hash_bucket::head, Halide::Runtime::Internal::Synchronization::validate_action::invalid_unpark_info, Halide::Runtime::Internal::Synchronization::lock_bucket(), Halide::Runtime::Internal::Synchronization::hash_bucket::mutex, Halide::Runtime::Internal::Synchronization::queue_data::next, Halide::Runtime::Internal::Synchronization::queue_data::parker, Halide::Runtime::Internal::Synchronization::queue_data::sleep_address, Halide::Runtime::Internal::Synchronization::hash_bucket::tail, Halide::Runtime::Internal::Synchronization::word_lock::unlock(), Halide::Runtime::Internal::Synchronization::queue_data::unpark_info, and validate().
Referenced by Halide::Runtime::Internal::Synchronization::fast_cond::wait().
WEAK uintptr_t Halide::Runtime::Internal::Synchronization::parking_control::unpark_one | ( | uintptr_t | addr | ) |
Definition at line 478 of file synchronization_common.h.
References Halide::Runtime::Internal::Synchronization::hash_bucket::head, Halide::Runtime::Internal::Synchronization::lock_bucket(), Halide::Runtime::Internal::Synchronization::hash_bucket::mutex, Halide::Runtime::Internal::Synchronization::queue_data::next, Halide::Runtime::Internal::Synchronization::queue_data::parker, Halide::Runtime::Internal::Synchronization::queue_data::sleep_address, Halide::Runtime::Internal::Synchronization::hash_bucket::tail, Halide::Runtime::Internal::Synchronization::word_lock::unlock(), unpark(), and Halide::Runtime::Internal::Synchronization::queue_data::unpark_info.
Referenced by Halide::Runtime::Internal::Synchronization::fast_cond::signal().
WEAK int Halide::Runtime::Internal::Synchronization::parking_control::unpark_requeue | ( | uintptr_t | addr_from, |
uintptr_t | addr_to, | ||
uintptr_t | unpark_info | ||
) |
Definition at line 529 of file synchronization_common.h.
References Halide::Runtime::Internal::Synchronization::bucket_pair::from, Halide::Runtime::Internal::Synchronization::hash_bucket::head, Halide::Runtime::Internal::Synchronization::lock_bucket_pair(), Halide::Runtime::Internal::Synchronization::queue_data::next, Halide::Runtime::Internal::Synchronization::queue_data::parker, requeue_callback(), Halide::Runtime::Internal::Synchronization::queue_data::sleep_address, Halide::Runtime::Internal::Synchronization::hash_bucket::tail, Halide::Runtime::Internal::Synchronization::bucket_pair::to, Halide::Runtime::Internal::Synchronization::unlock_bucket_pair(), Halide::Runtime::Internal::Synchronization::queue_data::unpark_info, Halide::Runtime::Internal::Synchronization::validate_action::unpark_one, and validate().
Referenced by Halide::Runtime::Internal::Synchronization::fast_cond::broadcast().
|
inlineprotectedvirtual |
Reimplemented in Halide::Runtime::Internal::Synchronization::wait_parking_control, Halide::Runtime::Internal::Synchronization::broadcast_parking_control, and Halide::Runtime::Internal::Synchronization::mutex_parking_control.
Definition at line 432 of file synchronization_common.h.
Referenced by park(), and unpark_requeue().
|
inlineprotectedvirtual |
Reimplemented in Halide::Runtime::Internal::Synchronization::wait_parking_control.
Definition at line 435 of file synchronization_common.h.
Referenced by park().
|
inlineprotectedvirtual |
Reimplemented in Halide::Runtime::Internal::Synchronization::wait_parking_control, Halide::Runtime::Internal::Synchronization::signal_parking_control, and Halide::Runtime::Internal::Synchronization::mutex_parking_control.
Definition at line 438 of file synchronization_common.h.
Referenced by unpark_one().
|
inlineprotectedvirtual |
Reimplemented in Halide::Runtime::Internal::Synchronization::broadcast_parking_control.
Definition at line 441 of file synchronization_common.h.
Referenced by unpark_requeue().