table of contents
rte_ticketlock.h(3) | DPDK | rte_ticketlock.h(3) |
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:
A static recursive ticketlock initializer.
{RTE_TICKETLOCK_INITIALIZER, TICKET_LOCK_INVALID_ID, 0}
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
Definition at line 52 of file rte_ticketlock.h.
static void rte_ticketlock_lock (rte_ticketlock_t * tl) [inline], [static]¶
Take the ticketlock.
Parameters
Definition at line 64 of file rte_ticketlock.h.
static void rte_ticketlock_unlock (rte_ticketlock_t * tl) [inline], [static]¶
Release the ticketlock.
Parameters
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
Returns
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
Returns
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
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
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
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
Returns
Definition at line 199 of file rte_ticketlock.h.
Author¶
Generated automatically by Doxygen for DPDK from the source code.
Fri Dec 15 2023 | Version 23.11.0 |