rte_ticketlock.h - Man Page
Synopsis
#include <rte_common.h>
#include <rte_lcore.h>
#include <rte_pause.h>
#include <rte_stdatomic.h>
Data Structures
union rte_ticketlock_t
Macros
#define RTE_TICKETLOCK_INITIALIZER { 0 }
#define TICKET_LOCK_INVALID_ID -1
#define RTE_TICKETLOCK_RECURSIVE_INITIALIZER
Functions
static void rte_ticketlock_init (rte_ticketlock_t *tl)
static void rte_ticketlock_lock (rte_ticketlock_t *tl)
static void rte_ticketlock_unlock (rte_ticketlock_t *tl)
static int rte_ticketlock_trylock (rte_ticketlock_t *tl)
static int rte_ticketlock_is_locked (rte_ticketlock_t *tl)
static void rte_ticketlock_recursive_init (rte_ticketlock_recursive_t *tlr)
static void rte_ticketlock_recursive_lock (rte_ticketlock_recursive_t *tlr)
static void rte_ticketlock_recursive_unlock (rte_ticketlock_recursive_t *tlr)
static int rte_ticketlock_recursive_trylock (rte_ticketlock_recursive_t *tlr)
Detailed Description
RTE ticket locks
This file defines an API for ticket locks, which give each waiting thread a ticket and take the lock one by one, first come, first serviced.
All locks must be initialised before use, and only initialised once.
Definition in file rte_ticketlock.h.
Macro Definition Documentation
#define RTE_TICKETLOCK_INITIALIZER { 0 }
A static ticketlock initializer.
Definition at line 43 of file rte_ticketlock.h.
#define TICKET_LOCK_INVALID_ID -1
The rte_ticketlock_recursive_t type.
Definition at line 128 of file rte_ticketlock.h.
#define RTE_TICKETLOCK_RECURSIVE_INITIALIZER
Value:
{RTE_TICKETLOCK_INITIALIZER, \ TICKET_LOCK_INVALID_ID, 0}
A static recursive ticketlock initializer.
Definition at line 139 of file rte_ticketlock.h.
Function Documentation
static void rte_ticketlock_init (rte_ticketlock_t * tl) [inline], [static]
Initialize the ticketlock to an unlocked state.
- Parameters
tl A pointer to the ticketlock.
Definition at line 52 of file rte_ticketlock.h.
static void rte_ticketlock_lock (rte_ticketlock_t * tl) [inline], [static]
Take the ticketlock.
- Parameters
tl A pointer to the ticketlock.
Definition at line 64 of file rte_ticketlock.h.
static void rte_ticketlock_unlock (rte_ticketlock_t * tl) [inline], [static]
Release the ticketlock.
- Parameters
tl A pointer to the ticketlock.
Definition at line 78 of file rte_ticketlock.h.
static int rte_ticketlock_trylock (rte_ticketlock_t * tl) [inline], [static]
Try to take the lock.
- Parameters
tl A pointer to the ticketlock.
Returns
1 if the lock is successfully taken; 0 otherwise.
Definition at line 93 of file rte_ticketlock.h.
static int rte_ticketlock_is_locked (rte_ticketlock_t * tl) [inline], [static]
Test if the lock is taken.
- Parameters
tl A pointer to the ticketlock.
Returns
1 if the lock is currently taken; 0 otherwise.
Definition at line 118 of file rte_ticketlock.h.
static void rte_ticketlock_recursive_init (rte_ticketlock_recursive_t * tlr) [inline], [static]
Initialize the recursive ticketlock to an unlocked state.
- Parameters
tlr A pointer to the recursive ticketlock.
Definition at line 149 of file rte_ticketlock.h.
static void rte_ticketlock_recursive_lock (rte_ticketlock_recursive_t * tlr) [inline], [static]
Take the recursive ticketlock.
- Parameters
tlr A pointer to the recursive ticketlock.
Definition at line 163 of file rte_ticketlock.h.
static void rte_ticketlock_recursive_unlock (rte_ticketlock_recursive_t * tlr) [inline], [static]
Release the recursive ticketlock.
- Parameters
tlr A pointer to the recursive ticketlock.
Definition at line 181 of file rte_ticketlock.h.
static int rte_ticketlock_recursive_trylock (rte_ticketlock_recursive_t * tlr) [inline], [static]
Try to take the recursive lock.
- Parameters
tlr A pointer to the recursive ticketlock.
Returns
1 if the lock is successfully taken; 0 otherwise.
Definition at line 199 of file rte_ticketlock.h.
Author
Generated automatically by Doxygen for DPDK from the source code.
Referenced By
The man pages rte_ticketlock_init(3), RTE_TICKETLOCK_INITIALIZER(3), rte_ticketlock_is_locked(3), rte_ticketlock_lock(3), rte_ticketlock_recursive_init(3), RTE_TICKETLOCK_RECURSIVE_INITIALIZER(3), rte_ticketlock_recursive_lock(3), rte_ticketlock_recursive_trylock(3), rte_ticketlock_recursive_unlock(3), rte_ticketlock_trylock(3) and rte_ticketlock_unlock(3) are aliases of rte_ticketlock.h(3).