FD.io VPP  v21.06
Vector Packet Processing
fifo_types.h File Reference
+ Include dependency graph for fifo_types.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  svm_fifo_chunk_
 
struct  ooo_segment_t
 
struct  svm_fifo_trace_elem_t
 
struct  svm_fifo_shr_
 
struct  fifo_segment_slice_
 
struct  fifo_slice_private_
 
struct  fifo_segment_header_
 

Macros

#define FS_MIN_LOG2_CHUNK_SZ   12
 also min fifo size More...
 
#define FS_MAX_LOG2_CHUNK_SZ   22
 4MB max chunk size More...
 
#define FS_CHUNK_VEC_LEN   11
 number of chunk sizes More...
 
#define SVM_FIFO_TRACE   (0)
 
#define SVM_FIFO_MAX_EVT_SUBSCRIBERS   7
 

Typedefs

typedef struct fifo_segment_header_ fifo_segment_header_t
 
typedef uword fs_sptr_t
 
typedef struct svm_fifo_chunk_ svm_fifo_chunk_t
 
typedef struct svm_fifo_shr_ svm_fifo_shared_t
 
typedef struct _svm_fifo svm_fifo_t
 
typedef struct fifo_segment_slice_ fifo_segment_slice_t
 
typedef struct fifo_slice_private_ fifo_slice_private_t
 

Functions

 STATIC_ASSERT ((FS_MAX_LOG2_CHUNK_SZ - FS_MIN_LOG2_CHUNK_SZ)==FS_CHUNK_VEC_LEN - 1, "update chunk sizes")
 
void fsh_virtual_mem_update (fifo_segment_header_t *fsh, u32 slice_index, int n_bytes)
 
static void * fs_ptr (fifo_segment_header_t *fsh, fs_sptr_t sp)
 
static fs_sptr_t fs_sptr (fifo_segment_header_t *fsh, void *p)
 
static svm_fifo_chunk_tfs_chunk_ptr (fifo_segment_header_t *fsh, fs_sptr_t cp)
 
static fs_sptr_t fs_chunk_sptr (fifo_segment_header_t *fsh, svm_fifo_chunk_t *c)
 

Macro Definition Documentation

◆ FS_CHUNK_VEC_LEN

#define FS_CHUNK_VEC_LEN   11

number of chunk sizes

Definition at line 26 of file fifo_types.h.

◆ FS_MAX_LOG2_CHUNK_SZ

#define FS_MAX_LOG2_CHUNK_SZ   22

4MB max chunk size

Definition at line 25 of file fifo_types.h.

◆ FS_MIN_LOG2_CHUNK_SZ

#define FS_MIN_LOG2_CHUNK_SZ   12

also min fifo size

Definition at line 24 of file fifo_types.h.

◆ SVM_FIFO_MAX_EVT_SUBSCRIBERS

#define SVM_FIFO_MAX_EVT_SUBSCRIBERS   7

Definition at line 33 of file fifo_types.h.

◆ SVM_FIFO_TRACE

#define SVM_FIFO_TRACE   (0)

Definition at line 32 of file fifo_types.h.

Typedef Documentation

◆ fifo_segment_header_t

Definition at line 35 of file fifo_types.h.

◆ fifo_segment_slice_t

◆ fifo_slice_private_t

◆ fs_sptr_t

typedef uword fs_sptr_t

Definition at line 36 of file fifo_types.h.

◆ svm_fifo_chunk_t

◆ svm_fifo_shared_t

◆ svm_fifo_t

typedef struct _svm_fifo svm_fifo_t

Function Documentation

◆ fs_chunk_ptr()

static svm_fifo_chunk_t* fs_chunk_ptr ( fifo_segment_header_t fsh,
fs_sptr_t  cp 
)
inlinestatic

Definition at line 173 of file fifo_types.h.

+ Here is the caller graph for this function:

◆ fs_chunk_sptr()

static fs_sptr_t fs_chunk_sptr ( fifo_segment_header_t fsh,
svm_fifo_chunk_t c 
)
inlinestatic

Definition at line 179 of file fifo_types.h.

+ Here is the caller graph for this function:

◆ fs_ptr()

static void* fs_ptr ( fifo_segment_header_t fsh,
fs_sptr_t  sp 
)
inlinestatic

Definition at line 161 of file fifo_types.h.

+ Here is the caller graph for this function:

◆ fs_sptr()

static fs_sptr_t fs_sptr ( fifo_segment_header_t fsh,
void *  p 
)
inlinestatic

Definition at line 167 of file fifo_types.h.

+ Here is the caller graph for this function:

◆ fsh_virtual_mem_update()

void fsh_virtual_mem_update ( fifo_segment_header_t fsh,
u32  slice_index,
int  n_bytes 
)

Definition at line 123 of file fifo_segment.c.

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

◆ STATIC_ASSERT()

STATIC_ASSERT ( (FS_MAX_LOG2_CHUNK_SZ - FS_MIN_LOG2_CHUNK_SZ = =FS_CHUNK_VEC_LEN - 1,
"update chunk sizes"   
)