Provided by: dpdk-doc_24.11.2-2_all 

NAME
rte_ticketlock.h
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:.PP {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. DPDK Version 24.11.2 rte_ticketlock.h(3)