|
DPDK
2.0.0
|
#include <rte_lcore.h>Data Structures | |
| struct | rte_spinlock_t |
| struct | rte_spinlock_recursive_t |
Macros | |
| #define | RTE_SPINLOCK_INITIALIZER { 0 } |
| #define | RTE_SPINLOCK_RECURSIVE_INITIALIZER {RTE_SPINLOCK_INITIALIZER, -1, 0} |
Functions | |
| static void | rte_spinlock_init (rte_spinlock_t *sl) |
| static void | rte_spinlock_lock (rte_spinlock_t *sl) |
| static void | rte_spinlock_unlock (rte_spinlock_t *sl) |
| static int | rte_spinlock_trylock (rte_spinlock_t *sl) |
| static int | rte_spinlock_is_locked (rte_spinlock_t *sl) |
| static void | rte_spinlock_recursive_init (rte_spinlock_recursive_t *slr) |
| static void | rte_spinlock_recursive_lock (rte_spinlock_recursive_t *slr) |
| static void | rte_spinlock_recursive_unlock (rte_spinlock_recursive_t *slr) |
| static int | rte_spinlock_recursive_trylock (rte_spinlock_recursive_t *slr) |
RTE Spinlocks
This file defines an API for read-write locks, which are implemented in an architecture-specific way. This kind of lock simply waits in a loop repeatedly checking until the lock becomes available.
All locks must be initialised before use, and only initialised once.
| #define RTE_SPINLOCK_INITIALIZER { 0 } |
A static spinlock initializer.
| #define RTE_SPINLOCK_RECURSIVE_INITIALIZER {RTE_SPINLOCK_INITIALIZER, -1, 0} |
A static recursive spinlock initializer.
|
inlinestatic |
Initialize the spinlock to an unlocked state.
| sl | A pointer to the spinlock. |
|
inlinestatic |
Test if the lock is taken.
| sl | A pointer to the spinlock. |
|
inlinestatic |
Take the spinlock.
| sl | A pointer to the spinlock. |
|
inlinestatic |
Initialize the recursive spinlock to an unlocked state.
| slr | A pointer to the recursive spinlock. |
|
inlinestatic |
Take the recursive spinlock.
| slr | A pointer to the recursive spinlock. |
|
inlinestatic |
Try to take the recursive lock.
| slr | A pointer to the recursive spinlock. |
|
inlinestatic |
Release the recursive spinlock.
| slr | A pointer to the recursive spinlock. |
|
inlinestatic |
Try to take the lock.
| sl | A pointer to the spinlock. |
|
inlinestatic |
Release the spinlock.
| sl | A pointer to the spinlock. |
1.8.1.2