![]() |
FD.io VPP
v21.01.1
Vector Packet Processing
|
Include dependency graph for segment_manager.c:Go to the source code of this file.
Data Structures | |
| struct | segment_manager_main_ |
Macros | |
| #define | segment_manager_foreach_segment_w_lock(VAR, SM, BODY) |
Typedefs | |
| typedef struct segment_manager_main_ | segment_manager_main_t |
Variables | |
| static segment_manager_main_t | sm_main |
| static vlib_cli_command_t | segment_manager_show_command |
| (constructor) VLIB_CLI_COMMAND (segment_manager_show_command) More... | |
| #define segment_manager_foreach_segment_w_lock | ( | VAR, | |
| SM, | |||
| BODY | |||
| ) |
Definition at line 39 of file segment_manager.c.
| typedef struct segment_manager_main_ segment_manager_main_t |
| int segment_manager_add_segment | ( | segment_manager_t * | sm, |
| uword | segment_size | ||
| ) |
Adds segment to segment manager's pool.
If needed a writer's lock is acquired before allocating a new segment to avoid affecting any of the segments pool readers.
Definition at line 92 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| segment_manager_t* segment_manager_alloc | ( | void | ) |
Definition at line 332 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| svm_msg_q_t* segment_manager_alloc_queue | ( | fifo_segment_t * | segment, |
| segment_manager_props_t * | props | ||
| ) |
Allocates shm queue in the first segment.
Must be called with lock held
Definition at line 871 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int segment_manager_alloc_session_fifos | ( | segment_manager_t * | sm, |
| u32 | thread_index, | ||
| svm_fifo_t ** | rx_fifo, | ||
| svm_fifo_t ** | tx_fifo | ||
| ) |
Definition at line 678 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_app_detach | ( | segment_manager_t * | sm | ) |
| u8 segment_manager_app_detached | ( | segment_manager_t * | sm | ) |
| void segment_manager_attach_fifo | ( | segment_manager_t * | sm, |
| svm_fifo_t * | f, | ||
| session_t * | s | ||
| ) |
Definition at line 835 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_cleanup_detached_listener | ( | segment_manager_t * | sm | ) |
Definition at line 452 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_dealloc_fifos | ( | svm_fifo_t * | rx_fifo, |
| svm_fifo_t * | tx_fifo | ||
| ) |
Definition at line 782 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_dealloc_queue | ( | segment_manager_t * | sm, |
| svm_queue_t * | q | ||
| ) |
Frees shm queue allocated in the first segment.
Definition at line 915 of file segment_manager.c.
Here is the call graph for this function:| void segment_manager_del_segment | ( | segment_manager_t * | sm, |
| fifo_segment_t * | fs | ||
| ) |
Remove segment without lock.
Definition at line 194 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_del_sessions | ( | segment_manager_t * | sm | ) |
Initiate disconnects for all sessions 'owned' by a segment manager.
Cleanup segment manager sessions.
Definition at line 591 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_detach_fifo | ( | segment_manager_t * | sm, |
| svm_fifo_t * | f | ||
| ) |
Definition at line 825 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| svm_msg_q_t* segment_manager_event_queue | ( | segment_manager_t * | sm | ) |
| void segment_manager_format_sessions | ( | segment_manager_t * | sm, |
| int | verbose | ||
| ) |
Definition at line 1029 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_free | ( | segment_manager_t * | sm | ) |
Cleanup segment manager.
| sm | segment manager to be freed |
Definition at line 467 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 512 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| segment_manager_t* segment_manager_get | ( | u32 | index | ) |
| segment_manager_t* segment_manager_get_if_valid | ( | u32 | index | ) |
| fifo_segment_t* segment_manager_get_segment | ( | segment_manager_t * | sm, |
| u32 | segment_index | ||
| ) |
Reads a segment from the segment manager's pool without lock.
Definition at line 265 of file segment_manager.c.
Here is the caller graph for this function:
|
static |
| fifo_segment_t* segment_manager_get_segment_w_handle | ( | u64 | segment_handle | ) |
Definition at line 286 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fifo_segment_t* segment_manager_get_segment_w_lock | ( | segment_manager_t * | sm, |
| u32 | segment_index | ||
| ) |
Reads a segment from the segment manager's pool and acquires reader lock.
Caller must drop the reader's lock by calling segment_manager_segment_reader_unlock once it finishes working with the segment.
Definition at line 307 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u8 segment_manager_has_fifos | ( | segment_manager_t * | sm | ) |
Definition at line 562 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 segment_manager_index | ( | segment_manager_t * | sm | ) |
| int segment_manager_init | ( | segment_manager_t * | sm | ) |
Definition at line 343 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int segment_manager_init_first | ( | segment_manager_t * | sm | ) |
Initializes segment manager based on options provided.
Returns error if ssvm segment(s) allocation fails.
Definition at line 364 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_init_free | ( | segment_manager_t * | sm | ) |
Initiate segment manager cleanup.
| sm | segment manager to be freed |
Definition at line 527 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_lock_and_del_segment | ( | segment_manager_t * | sm, |
| u32 | fs_index | ||
| ) |
Definition at line 256 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_main_init | ( | segment_manager_main_init_args_t * | a | ) |
Definition at line 936 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 47 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| segment_manager_props_t* segment_manager_props_init | ( | segment_manager_props_t * | props | ) |
Definition at line 54 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u64 segment_manager_segment_handle | ( | segment_manager_t * | sm, |
| fifo_segment_t * | segment | ||
| ) |
Definition at line 271 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
| void segment_manager_segment_reader_lock | ( | segment_manager_t * | sm | ) |
Definition at line 314 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_segment_reader_unlock | ( | segment_manager_t * | sm | ) |
Definition at line 320 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_segment_writer_unlock | ( | segment_manager_t * | sm | ) |
| void segment_manager_set_watermarks | ( | segment_manager_t * | sm, |
| u8 | high_watermark, | ||
| u8 | low_watermark | ||
| ) |
|
static |
| int segment_manager_try_alloc_fifos | ( | fifo_segment_t * | fifo_segment, |
| u32 | thread_index, | ||
| u32 | rx_fifo_size, | ||
| u32 | tx_fifo_size, | ||
| svm_fifo_t ** | rx_fifo, | ||
| svm_fifo_t ** | tx_fifo | ||
| ) |
Definition at line 639 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 500 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Removes segment after acquiring writer lock.
Definition at line 234 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
(constructor) VLIB_CLI_COMMAND (segment_manager_show_command)
Definition at line 1020 of file segment_manager.c.
|
static |
Definition at line 37 of file segment_manager.c.