FD.io VPP  v18.01-8-g0eacf49
Vector Packet Processing
svm_fifo_segment.c File Reference
+ Include dependency graph for svm_fifo_segment.c:

Go to the source code of this file.

Functions

static void allocate_new_fifo_chunk (svm_fifo_segment_header_t *fsh, u32 data_size_in_bytes, int chunk_size)
 
static void preallocate_fifo_pairs (svm_fifo_segment_private_t *s, svm_fifo_segment_create_args_t *a)
 
int svm_fifo_segment_create (svm_fifo_segment_create_args_t *a)
 (master) create an svm fifo segment More...
 
int svm_fifo_segment_create_process_private (svm_fifo_segment_create_args_t *a)
 Create an svm fifo segment in process-private memory. More...
 
int svm_fifo_segment_attach (svm_fifo_segment_create_args_t *a)
 (slave) attach to an svm fifo segment More...
 
void svm_fifo_segment_delete (svm_fifo_segment_private_t *s)
 
svm_fifo_tsvm_fifo_segment_alloc_fifo (svm_fifo_segment_private_t *s, u32 data_size_in_bytes, svm_fifo_segment_freelist_t list_index)
 
void svm_fifo_segment_free_fifo (svm_fifo_segment_private_t *s, svm_fifo_t *f, svm_fifo_segment_freelist_t list_index)
 
void svm_fifo_segment_init (u64 baseva, u32 timeout_in_seconds)
 
u32 svm_fifo_segment_index (svm_fifo_segment_private_t *s)
 
svm_fifo_segment_private_tsvm_fifo_segment_segments_pool (void)
 Retrieve svm segments pool. More...
 
u32 svm_fifo_segment_num_fifos (svm_fifo_segment_private_t *fifo_segment)
 Get number of active fifos. More...
 
u32 svm_fifo_segment_num_free_fifos (svm_fifo_segment_private_t *fifo_segment, u32 fifo_size_in_bytes)
 
u8format_svm_fifo_segment (u8 *s, va_list *args)
 Segment format function. More...
 

Variables

svm_fifo_segment_main_t svm_fifo_segment_main
 

Function Documentation

static void allocate_new_fifo_chunk ( svm_fifo_segment_header_t fsh,
u32  data_size_in_bytes,
int  chunk_size 
)
static

Definition at line 21 of file svm_fifo_segment.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_svm_fifo_segment ( u8 s,
va_list *  args 
)

Segment format function.

Definition at line 597 of file svm_fifo_segment.c.

+ Here is the call graph for this function:

static void preallocate_fifo_pairs ( svm_fifo_segment_private_t s,
svm_fifo_segment_create_args_t a 
)
static

Definition at line 60 of file svm_fifo_segment.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

svm_fifo_t* svm_fifo_segment_alloc_fifo ( svm_fifo_segment_private_t s,
u32  data_size_in_bytes,
svm_fifo_segment_freelist_t  list_index 
)

Definition at line 355 of file svm_fifo_segment.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int svm_fifo_segment_attach ( svm_fifo_segment_create_args_t a)

(slave) attach to an svm fifo segment

Definition at line 300 of file svm_fifo_segment.c.

+ Here is the call graph for this function:

int svm_fifo_segment_create ( svm_fifo_segment_create_args_t a)

(master) create an svm fifo segment

Definition at line 169 of file svm_fifo_segment.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int svm_fifo_segment_create_process_private ( svm_fifo_segment_create_args_t a)

Create an svm fifo segment in process-private memory.

Definition at line 219 of file svm_fifo_segment.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void svm_fifo_segment_delete ( svm_fifo_segment_private_t s)

Definition at line 335 of file svm_fifo_segment.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void svm_fifo_segment_free_fifo ( svm_fifo_segment_private_t s,
svm_fifo_t f,
svm_fifo_segment_freelist_t  list_index 
)

Definition at line 450 of file svm_fifo_segment.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 svm_fifo_segment_index ( svm_fifo_segment_private_t s)

Definition at line 519 of file svm_fifo_segment.c.

void svm_fifo_segment_init ( u64  baseva,
u32  timeout_in_seconds 
)

Definition at line 510 of file svm_fifo_segment.c.

+ Here is the caller graph for this function:

u32 svm_fifo_segment_num_fifos ( svm_fifo_segment_private_t fifo_segment)

Get number of active fifos.

Definition at line 538 of file svm_fifo_segment.c.

+ Here is the caller graph for this function:

u32 svm_fifo_segment_num_free_fifos ( svm_fifo_segment_private_t fifo_segment,
u32  fifo_size_in_bytes 
)

Definition at line 544 of file svm_fifo_segment.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

svm_fifo_segment_private_t* svm_fifo_segment_segments_pool ( void  )

Retrieve svm segments pool.

Used only for debug purposes.

Definition at line 528 of file svm_fifo_segment.c.

+ Here is the caller graph for this function:

Variable Documentation

svm_fifo_segment_main_t svm_fifo_segment_main

Definition at line 18 of file svm_fifo_segment.c.