Loading...
Searching...
No Matches
Halide::Runtime::Internal::Synchronization Namespace Reference

## Classes

class | spin_control
struct | word_lock_queue_data
class | word_lock
struct | queue_data
struct | hash_bucket
struct | hash_table
struct | bucket_pair
struct | validate_action
struct | parking_control
struct | mutex_parking_control
class | fast_mutex
struct | signal_parking_control
struct | broadcast_parking_control
struct | wait_parking_control
class | fast_cond

## Functions

WEAK hash_bucket & | lock_bucket (uintptr_t addr)
WEAK bucket_pair | lock_bucket_pair (uintptr_t addr_from, uintptr_t addr_to)
WEAK void | unlock_bucket_pair (bucket_pair &buckets)

## Variables

constexpr int | LOAD_FACTOR = 4
constexpr int | HASH_TABLE_SIZE = MAX_THREADS * LOAD_FACTOR
WEAK hash_table | table
constexpr int | HASH_TABLE_BITS = 10

## Function Documentation

## lock_bucket()

WEAK hash_bucket & Halide::Runtime::Internal::Synchronization::lock_bucket | ( | uintptr_t | addr | ) |

Definition at line 354 of file synchronization_common.h.

References halide_debug_assert, HASH_TABLE_SIZE, Halide::Runtime::Internal::Synchronization::word_lock::lock(), Halide::Runtime::Internal::Synchronization::hash_bucket::mutex, table, and WEAK.

Referenced by Halide::Runtime::Internal::Synchronization::parking_control::park(), and Halide::Runtime::Internal::Synchronization::parking_control::unpark_one().

## lock_bucket_pair()

WEAK bucket_pair Halide::Runtime::Internal::Synchronization::lock_bucket_pair | ( | uintptr_t | addr_from,
|  | uintptr_t | addr_to )

Definition at line 376 of file synchronization_common.h.

References halide_debug_assert, HASH_TABLE_SIZE, Halide::Runtime::Internal::Synchronization::word_lock::lock(), Halide::Runtime::Internal::Synchronization::hash_bucket::mutex, table, and WEAK.

Referenced by Halide::Runtime::Internal::Synchronization::parking_control::unpark_requeue().

## unlock_bucket_pair()

WEAK void Halide::Runtime::Internal::Synchronization::unlock_bucket_pair | ( | bucket_pair & | buckets | ) |

Definition at line 405 of file synchronization_common.h.

References Halide::Runtime::Internal::Synchronization::bucket_pair::from, Halide::Runtime::Internal::Synchronization::hash_bucket::mutex, Halide::Runtime::Internal::Synchronization::bucket_pair::to, Halide::Runtime::Internal::Synchronization::word_lock::unlock(), and WEAK.

Referenced by Halide::Runtime::Internal::Synchronization::parking_control::unpark_requeue().

## Variable Documentation

## LOAD_FACTOR

int Halide::Runtime::Internal::Synchronization::LOAD_FACTOR = 4

constexpr

Definition at line 312 of file synchronization_common.h.

## HASH_TABLE_SIZE

int Halide::Runtime::Internal::Synchronization::HASH_TABLE_SIZE = MAX_THREADS * LOAD_FACTOR

constexpr

Definition at line 321 of file synchronization_common.h.

Referenced by lock_bucket(), and lock_bucket_pair().

## table

WEAK hash_table Halide::Runtime::Internal::Synchronization::table

Definition at line 325 of file synchronization_common.h.

Referenced by lock_bucket(), and lock_bucket_pair().

## HASH_TABLE_BITS

int Halide::Runtime::Internal::Synchronization::HASH_TABLE_BITS = 10

constexpr

Definition at line 327 of file synchronization_common.h.