![]() |
FD.io VPP
v21.01.1
Vector Packet Processing
|
Include dependency graph for fifo_segment.c:Go to the source code of this file.
Variables | |
| static char * | fifo_segment_mem_status_strings [] |
| svm_fifo_t* fifo_segment_alloc_fifo_w_slice | ( | fifo_segment_t * | fs, |
| u32 | slice_index, | ||
| u32 | data_bytes, | ||
| fifo_segment_ftype_t | ftype | ||
| ) |
Allocate fifo in fifo segment.
| fs | fifo segment for fifo |
| data_bytes | size of default fifo chunk in bytes |
| ftype | fifo type fifo_segment_ftype_t |
Definition at line 751 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int fifo_segment_attach | ( | fifo_segment_main_t * | sm, |
| fifo_segment_create_args_t * | a | ||
| ) |
Attach as slave to a fifo segment.
Definition at line 325 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fifo_segment_attach_fifo | ( | fifo_segment_t * | fs, |
| svm_fifo_t * | f, | ||
| u32 | slice_index | ||
| ) |
Definition at line 862 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| uword fifo_segment_available_bytes | ( | fifo_segment_t * | fs | ) |
Definition at line 1120 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| uword fifo_segment_cached_bytes | ( | fifo_segment_t * | fs | ) |
Fifo segment number of cached bytes.
Returns fifo segment's number of cached bytes.
| fs | fifo segment |
Definition at line 1114 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int fifo_segment_create | ( | fifo_segment_main_t * | sm, |
| fifo_segment_create_args_t * | a | ||
| ) |
Create a fifo segment and initialize as master.
Definition at line 291 of file fifo_segment.c.
Here is the call graph for this function:| void fifo_segment_delete | ( | fifo_segment_main_t * | sm, |
| fifo_segment_t * | s | ||
| ) |
| void fifo_segment_detach_fifo | ( | fifo_segment_t * | fs, |
| svm_fifo_t * | f | ||
| ) |
Definition at line 839 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fifo_segment_mem_status_t fifo_segment_determine_status | ( | fifo_segment_header_t * | fsh, |
| u8 | usage | ||
| ) |
Definition at line 1170 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| uword fifo_segment_fl_chunk_bytes | ( | fifo_segment_t * | fs | ) |
Number of bytes on chunk free lists.
| fs | fifo segment |
Definition at line 1126 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| uword fifo_segment_free_bytes | ( | fifo_segment_t * | fs | ) |
Fifo segment estimate of number of free bytes.
Returns fifo segment's internal estimate of the number of free bytes. To force a synchronization between the segment and the underlying memory allocator, call fifo_segment_update_free_bytes
| fs | fifo segment |
Definition at line 1108 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fifo_segment_free_fifo | ( | fifo_segment_t * | fs, |
| svm_fifo_t * | f | ||
| ) |
Free fifo allocated in fifo segment.
| fs | fifo segment for fifo |
| f | fifo to be freed |
Definition at line 793 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fifo_segment_mem_status_t fifo_segment_get_mem_status | ( | fifo_segment_t * | fs | ) |
Definition at line 1196 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u8 fifo_segment_get_mem_usage | ( | fifo_segment_t * | fs | ) |
Definition at line 1159 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fifo_segment_t* fifo_segment_get_segment | ( | fifo_segment_main_t * | sm, |
| u32 | segment_index | ||
| ) |
Definition at line 369 of file fifo_segment.c.
| svm_fifo_t* fifo_segment_get_slice_fifo_list | ( | fifo_segment_t * | fs, |
| u32 | slice_index | ||
| ) |
Definition at line 1149 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u8 fifo_segment_has_fifos | ( | fifo_segment_t * | fs | ) |
Definition at line 1143 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 fifo_segment_index | ( | fifo_segment_main_t * | sm, |
| fifo_segment_t * | s | ||
| ) |
Definition at line 363 of file fifo_segment.c.
| void fifo_segment_info | ( | fifo_segment_t * | seg, |
| char ** | address, | ||
| size_t * | size | ||
| ) |
| int fifo_segment_init | ( | fifo_segment_t * | fs | ) |
Initialize fifo segment shared header.
Definition at line 233 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fifo_segment_main_init | ( | fifo_segment_main_t * | sm, |
| u64 | baseva, | ||
| u32 | timeout_in_seconds | ||
| ) |
| u32 fifo_segment_num_fifos | ( | fifo_segment_t * | fs | ) |
Get number of active fifos.
Definition at line 985 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 fifo_segment_num_free_chunks | ( | fifo_segment_t * | fs, |
| u32 | size | ||
| ) |
Find number of free chunks of given size.
| fs | fifo segment |
| size | chunk size of interest or ~0 if all should be counted |
Definition at line 1068 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 fifo_segment_num_free_fifos | ( | fifo_segment_t * | fs | ) |
Definition at line 1009 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int fifo_segment_prealloc_fifo_chunks | ( | fifo_segment_t * | fs, |
| u32 | slice_index, | ||
| u32 | chunk_size, | ||
| u32 | batch_size | ||
| ) |
Try to preallocate fifo chunks on segment.
Tries to preallocate chunks of requested size on segment and adds them to chunk freelist.
| fs | fifo segment |
| chunk_size | size of chunks to be allocated in bytes |
| batch_size | number of chunks to be allocated |
Definition at line 896 of file fifo_segment.c.
Here is the call graph for this function:| int fifo_segment_prealloc_fifo_hdrs | ( | fifo_segment_t * | fs, |
| u32 | slice_index, | ||
| u32 | batch_size | ||
| ) |
Try to preallocate fifo headers.
Tries to preallocate fifo headers and adds them to freelist.
| fs | fifo segment |
| batch_size | number of chunks to be allocated |
Definition at line 885 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fifo_segment_preallocate_fifo_pairs | ( | fifo_segment_t * | fs, |
| u32 | rx_fifo_size, | ||
| u32 | tx_fifo_size, | ||
| u32 * | n_fifo_pairs | ||
| ) |
Pre-allocates fifo pairs in fifo segment.
The number of fifos pre-allocated is the minimum of the requested number of pairs and the maximum number that fit within the segment. If the maximum is hit, the number of fifo pairs requested is updated by subtracting the number of fifos that have been successfully allocated.
| fs | fifo segment for fifo |
| rx_fifo_size | data size of rx fifos |
| tx_fifo_size | data size of tx fifos |
| n_fifo_pairs | number of pairs requested. Prior to returning, this is decremented by the the number of pairs allocated. |
Definition at line 919 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| uword fifo_segment_size | ( | fifo_segment_t * | fs | ) |
Fifo segment allocated size.
Returns fifo segment's allocated size
| fs | fifo segment |
Definition at line 1090 of file fifo_segment.c.
Here is the caller graph for this function:| void fifo_segment_update_free_bytes | ( | fifo_segment_t * | fs | ) |
Update fifo segment free bytes estimate.
Forces fifo segment free bytes estimate synchronization with underlying memory allocator.
| fs | fifo segment |
Definition at line 1084 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:Segment format function.
Definition at line 1226 of file fifo_segment.c.
Here is the call graph for this function:Definition at line 1205 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 390 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 1025 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
|
static |
Try to allocate new fifo.
Tries the following steps in order:
Definition at line 670 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 567 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| svm_fifo_chunk_t* fs_try_alloc_multi_chunk | ( | fifo_segment_header_t * | fsh, |
| fifo_segment_slice_t * | fss, | ||
| u32 | data_bytes | ||
| ) |
Definition at line 415 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
| svm_fifo_chunk_t* fsh_alloc_chunk | ( | fifo_segment_header_t * | fsh, |
| u32 | slice_index, | ||
| u32 | chunk_size | ||
| ) |
Allocate chunks in fifo segment.
| fsh | fifo segment header |
| slice_index | slice where chunks should be alocated |
| chunk_size | chunk size needed |
Definition at line 706 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
|
inlinestatic |
|
static |
Definition at line 120 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fsh_collect_chunks | ( | fifo_segment_header_t * | fsh, |
| u32 | slice_index, | ||
| svm_fifo_chunk_t * | c | ||
| ) |
Return chunks to fifo segment.
| fsh | fifo segment header |
| slice_index | slice where chunks should be returned |
| c | pointer to first chunk in 0 terminated linked list |
Definition at line 739 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
|
static |
Fifo segment free space.
Queries the underlying memory manager, dlmalloc, for free space. Since this ends up walking the internal data structures, it should not be called indiscriminately.
| fs | fifo segment |
Definition at line 41 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u8 fsh_has_reached_mem_limit | ( | fifo_segment_header_t * | fsh | ) |
Fifo segment has reached mem limit.
| fsh | fifo segment header |
Definition at line 1096 of file fifo_segment.c.
Here is the caller graph for this function:
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
| void fsh_reset_mem_limit | ( | fifo_segment_header_t * | fsh | ) |
Fifo segment reset mem limit flag.
| fs | fifo segment |
Definition at line 1102 of file fifo_segment.c.
Here is the caller graph for this function:
|
static |
Definition at line 718 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
|
static |
Definition at line 596 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 518 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 577 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 479 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 60 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 97 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void fsh_virtual_mem_update | ( | fifo_segment_header_t * | fsh, |
| u32 | slice_index, | ||
| int | n_bytes | ||
| ) |
Definition at line 112 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
|
static |
Definition at line 164 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 143 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 153 of file fifo_segment.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
static |
Definition at line 24 of file fifo_segment.c.