staticvoidrte_spinlock_init(rte_spinlock_t*sl)[inline],[static]
Initialize the spinlock to an unlocked state.
Parameterssl A pointer to the spinlock.
Definition at line 51 of file rte_spinlock.h.
staticvoidrte_spinlock_lock(rte_spinlock_t*sl)[inline],[static]
Take the spinlock.
Parameterssl A pointer to the spinlock.
staticvoidrte_spinlock_unlock(rte_spinlock_t*sl)[inline],[static]
Release the spinlock.
Parameterssl A pointer to the spinlock.
static__rte_warn_unused_resultintrte_spinlock_trylock(rte_spinlock_t*sl)[inline],[static]
Try to take the lock.
Parameterssl A pointer to the spinlock.
Returns
1 if the lock is successfully taken; 0 otherwise.
staticintrte_spinlock_is_locked(rte_spinlock_t*sl)[inline],[static]
Test if the lock is taken.
Parameterssl A pointer to the spinlock.
Returns
1 if the lock is currently taken; 0 otherwise.
Definition at line 133 of file rte_spinlock.h.
staticintrte_tm_supported(void)[inline],[static]
Test if hardware transactional memory (lock elision) is supported
Returns
1 if the hardware transactional memory is supported; 0 otherwise.
staticvoidrte_spinlock_lock_tm(rte_spinlock_t*sl)[inline],[static]
Try to execute critical section in a hardware memory transaction, if it fails or not available take the
spinlock.
NOTE: An attempt to perform a HW I/O operation inside a hardware memory transaction always aborts the
transaction since the CPU is not able to roll-back should the transaction fail. Therefore, hardware
transactional locks are not advised to be used around rte_eth_rx_burst() and rte_eth_tx_burst() calls.
Parameterssl A pointer to the spinlock.
staticvoidrte_spinlock_unlock_tm(rte_spinlock_t*sl)[inline],[static]
Commit hardware memory transaction or release the spinlock if the spinlock is used as a fall-back
Parameterssl A pointer to the spinlock.
static__rte_warn_unused_resultintrte_spinlock_trylock_tm(rte_spinlock_t*sl)[inline],[static]
Try to execute critical section in a hardware memory transaction, if it fails or not available try to
take the lock.
NOTE: An attempt to perform a HW I/O operation inside a hardware memory transaction always aborts the
transaction since the CPU is not able to roll-back should the transaction fail. Therefore, hardware
transactional locks are not advised to be used around rte_eth_rx_burst() and rte_eth_tx_burst() calls.
Parameterssl A pointer to the spinlock.
Returns
1 if the hardware memory transaction is successfully started or lock is successfully taken; 0
otherwise.
staticvoidrte_spinlock_recursive_init(rte_spinlock_recursive_t*slr)[inline],[static]
Initialize the recursive spinlock to an unlocked state.
Parametersslr A pointer to the recursive spinlock.
Definition at line 215 of file rte_spinlock.h.
staticvoidrte_spinlock_recursive_lock(rte_spinlock_recursive_t*slr)[inline],[static]
Take the recursive spinlock.
Parametersslr A pointer to the recursive spinlock.
Definition at line 228 of file rte_spinlock.h.
staticvoidrte_spinlock_recursive_unlock(rte_spinlock_recursive_t*slr)[inline],[static]
Release the recursive spinlock.
Parametersslr A pointer to the recursive spinlock.
Definition at line 245 of file rte_spinlock.h.
static__rte_warn_unused_resultintrte_spinlock_recursive_trylock(rte_spinlock_recursive_t*slr)[inline],[static]
Try to take the recursive lock.
Parametersslr A pointer to the recursive spinlock.
Returns
1 if the lock is successfully taken; 0 otherwise.
Definition at line 264 of file rte_spinlock.h.
staticvoidrte_spinlock_recursive_lock_tm(rte_spinlock_recursive_t*slr)[inline],[static]
Try to execute critical section in a hardware memory transaction, if it fails or not available take the
recursive spinlocks
NOTE: An attempt to perform a HW I/O operation inside a hardware memory transaction always aborts the
transaction since the CPU is not able to roll-back should the transaction fail. Therefore, hardware
transactional locks are not advised to be used around rte_eth_rx_burst() and rte_eth_tx_burst() calls.
Parametersslr A pointer to the recursive spinlock.
staticvoidrte_spinlock_recursive_unlock_tm(rte_spinlock_recursive_t*slr)[inline],[static]
Commit hardware memory transaction or release the recursive spinlock if the recursive spinlock is used as
a fall-back
Parametersslr A pointer to the recursive spinlock.
static__rte_warn_unused_resultintrte_spinlock_recursive_trylock_tm(rte_spinlock_recursive_t*slr)[inline],[static]
Try to execute critical section in a hardware memory transaction, if it fails or not available try to
take the recursive lock
NOTE: An attempt to perform a HW I/O operation inside a hardware memory transaction always aborts the
transaction since the CPU is not able to roll-back should the transaction fail. Therefore, hardware
transactional locks are not advised to be used around rte_eth_rx_burst() and rte_eth_tx_burst() calls.
Parametersslr A pointer to the recursive spinlock.
Returns
1 if the hardware memory transaction is successfully started or lock is successfully taken; 0
otherwise.