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

NAME

       rte_pflock.h

SYNOPSIS

       #include <rte_common.h>
       #include <rte_pause.h>
       #include <rte_stdatomic.h>

   Data Structures
       struct rte_pflock

   Macros
       #define RTE_PFLOCK_INITIALIZER   {  }

   Functions
       static void rte_pflock_init (struct rte_pflock *pf)
       static void rte_pflock_read_lock (rte_pflock_t *pf)
       static void rte_pflock_read_unlock (rte_pflock_t *pf)
       static void rte_pflock_write_lock (rte_pflock_t *pf)
       static void rte_pflock_write_unlock (rte_pflock_t *pf)

Detailed Description

       Phase-fair locks

       This file defines an API for phase-fair reader writer locks, which is a variant of typical reader-writer
       locks that prevent starvation. In this type of lock, readers and writers alternate. This significantly
       reduces the worst-case blocking for readers and writers.

       This is an implementation derived from FreeBSD based on the work described in: Brandenburg, B. and
       Anderson, J. 2010. Spin-Based Reader-Writer Synchronization for Multiprocessor Real-Time Systems

       All locks must be initialised before use, and only initialised once.

       Definition in file rte_pflock.h.

Macro Definition Documentation

   #define RTE_PFLOCK_INITIALIZER   {  }
       A static pflock initializer.

       Definition at line 79 of file rte_pflock.h.

Function Documentation

   static void rte_pflock_init (struct rte_pflock * pf) [inline],  [static]
       Initialize the pflock to an unlocked state.

       Parameters
           pf A pointer to the pflock.

       Definition at line 88 of file rte_pflock.h.

   static void rte_pflock_read_lock (rte_pflock_t * pf) [inline],  [static]
       Take a pflock for read.

       Parameters
           pf A pointer to a pflock structure.

       Definition at line 103 of file rte_pflock.h.

   static void rte_pflock_read_unlock (rte_pflock_t * pf) [inline],  [static]
       Release a pflock locked for reading.

       Parameters
           pf A pointer to the pflock structure.

       Definition at line 127 of file rte_pflock.h.

   static void rte_pflock_write_lock (rte_pflock_t * pf) [inline],  [static]
       Take the pflock for write.

       Parameters
           pf A pointer to the pflock structure.

       Definition at line 139 of file rte_pflock.h.

   static void rte_pflock_write_unlock (rte_pflock_t * pf) [inline],  [static]
       Release a pflock held for writing.

       Parameters
           pf A pointer to a pflock structure.

       Definition at line 173 of file rte_pflock.h.

Author

       Generated automatically by Doxygen for DPDK from the source code.

DPDK                                             Version 24.11.2                                 rte_pflock.h(3)