Provided by: dpdk-doc_24.11.2-2_all bug

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)