Sponsor:

Your company here, and a link to your site. Click to find out more.

rte_pflock.h - Man Page

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.

Referenced By

The man pages rte_pflock_init(3), RTE_PFLOCK_INITIALIZER(3), rte_pflock_read_lock(3), rte_pflock_read_unlock(3), rte_pflock_write_lock(3) and rte_pflock_write_unlock(3) are aliases of rte_pflock.h(3).

Version 23.11.0 DPDK