FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
lock.h File Reference
+ Include dependency graph for lock.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  clib_spinlock_t
 
struct  clib_rw_lock_
 

Macros

#define CLIB_PAUSE()   __builtin_ia32_pause ()
 
#define CLIB_LOCK_DBG(_p)
 
#define CLIB_LOCK_DBG_CLEAR(_p)
 

Typedefs

typedef struct clib_rw_lock_clib_rwlock_t
 

Functions

static void clib_spinlock_init (clib_spinlock_t *p)
 
static void clib_spinlock_free (clib_spinlock_t *p)
 
static_always_inline void clib_spinlock_lock (clib_spinlock_t *p)
 
static_always_inline void clib_spinlock_lock_if_init (clib_spinlock_t *p)
 
static_always_inline void clib_spinlock_unlock (clib_spinlock_t *p)
 
static_always_inline void clib_spinlock_unlock_if_init (clib_spinlock_t *p)
 
static void clib_rwlock_init (clib_rwlock_t *p)
 
static void clib_rwlock_free (clib_rwlock_t *p)
 
static void clib_rwlock_reader_lock (clib_rwlock_t *p)
 
static void clib_rwlock_reader_unlock (clib_rwlock_t *p)
 
static void clib_rwlock_writer_lock (clib_rwlock_t *p)
 
static void clib_rwlock_writer_unlock (clib_rwlock_t *p)
 

Macro Definition Documentation

◆ CLIB_LOCK_DBG

#define CLIB_LOCK_DBG (   _p)

Definition at line 41 of file lock.h.

◆ CLIB_LOCK_DBG_CLEAR

#define CLIB_LOCK_DBG_CLEAR (   _p)

Definition at line 42 of file lock.h.

◆ CLIB_PAUSE

#define CLIB_PAUSE ( )    __builtin_ia32_pause ()

Definition at line 22 of file lock.h.

Typedef Documentation

◆ clib_rwlock_t

typedef struct clib_rw_lock_ * clib_rwlock_t

Function Documentation

◆ clib_rwlock_free()

static void clib_rwlock_free ( clib_rwlock_t p)
inlinestatic

Definition at line 129 of file lock.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_rwlock_init()

static void clib_rwlock_init ( clib_rwlock_t p)
inlinestatic

Definition at line 122 of file lock.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_rwlock_reader_lock()

static void clib_rwlock_reader_lock ( clib_rwlock_t p)
inlinestatic

Definition at line 139 of file lock.h.

+ Here is the caller graph for this function:

◆ clib_rwlock_reader_unlock()

static void clib_rwlock_reader_unlock ( clib_rwlock_t p)
inlinestatic

Definition at line 157 of file lock.h.

+ Here is the caller graph for this function:

◆ clib_rwlock_writer_lock()

static void clib_rwlock_writer_lock ( clib_rwlock_t p)
inlinestatic

Definition at line 177 of file lock.h.

+ Here is the caller graph for this function:

◆ clib_rwlock_writer_unlock()

static void clib_rwlock_writer_unlock ( clib_rwlock_t p)
inlinestatic

Definition at line 185 of file lock.h.

+ Here is the caller graph for this function:

◆ clib_spinlock_free()

static void clib_spinlock_free ( clib_spinlock_t p)
inlinestatic

Definition at line 64 of file lock.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_spinlock_init()

static void clib_spinlock_init ( clib_spinlock_t p)
inlinestatic

Definition at line 57 of file lock.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_spinlock_lock()

static_always_inline void clib_spinlock_lock ( clib_spinlock_t p)

Definition at line 74 of file lock.h.

+ Here is the caller graph for this function:

◆ clib_spinlock_lock_if_init()

static_always_inline void clib_spinlock_lock_if_init ( clib_spinlock_t p)

Definition at line 82 of file lock.h.

+ Here is the call graph for this function:

◆ clib_spinlock_unlock()

static_always_inline void clib_spinlock_unlock ( clib_spinlock_t p)

Definition at line 89 of file lock.h.

+ Here is the caller graph for this function:

◆ clib_spinlock_unlock_if_init()

static_always_inline void clib_spinlock_unlock_if_init ( clib_spinlock_t p)

Definition at line 98 of file lock.h.

+ Here is the call graph for this function: