Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
rte_pflock.h(3)			     DPDK		       rte_pflock.h(3)

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.

Version	25.11.0			Thu Jun	11 2026		       rte_pflock.h(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=RTE_PFLOCK_INITIALIZER&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help