|
static uword | fsh_free_space (fifo_segment_header_t *fsh) |
| Fifo segment free space. More...
|
|
static void | fsh_free_bytes_sub (fifo_segment_header_t *fsh, int size) |
|
static uword | fsh_n_free_bytes (fifo_segment_header_t *fsh) |
|
static void | fsh_update_free_bytes (fifo_segment_header_t *fsh) |
|
static void | fsh_check_mem (fifo_segment_header_t *fsh) |
|
static fifo_segment_slice_t * | fsh_slice_get (fifo_segment_header_t *fsh, u32 slice_index) |
|
static void | fsh_active_fifos_update (fifo_segment_header_t *fsh, int inc) |
|
int | fifo_segment_init (fifo_segment_t *fs) |
| Initialize fifo segment shared header. More...
|
|
int | fifo_segment_create (fifo_segment_main_t *sm, fifo_segment_create_args_t *a) |
| Create a fifo segment and initialize as master. More...
|
|
int | fifo_segment_attach (fifo_segment_main_t *sm, fifo_segment_create_args_t *a) |
| Attach as slave to a fifo segment. More...
|
|
void | fifo_segment_delete (fifo_segment_main_t *sm, fifo_segment_t *s) |
|
u32 | fifo_segment_index (fifo_segment_main_t *sm, fifo_segment_t *s) |
|
fifo_segment_t * | fifo_segment_get_segment (fifo_segment_main_t *sm, u32 segment_index) |
|
void | fifo_segment_info (fifo_segment_t *seg, char **address, size_t *size) |
|
void | fifo_segment_main_init (fifo_segment_main_t *sm, u64 baseva, u32 timeout_in_seconds) |
|
static u32 | fs_freelist_for_size (u32 size) |
|
static u32 | fs_freelist_index_to_size (u32 fl_index) |
|
static int | fs_chunk_size_is_valid (fifo_segment_header_t *fsh, u32 size) |
|
static svm_fifo_t * | fs_try_alloc_fifo_freelist (fifo_segment_slice_t *fss, u32 fl_index, u32 data_bytes) |
|
static svm_fifo_t * | fs_try_alloc_fifo_freelist_multi_chunk (fifo_segment_header_t *fsh, fifo_segment_slice_t *fss, u32 data_bytes) |
|
static int | fs_try_alloc_fifo_batch (fifo_segment_header_t *fsh, fifo_segment_slice_t *fss, u32 fl_index, u32 batch_size) |
|
static svm_fifo_t * | fs_try_alloc_fifo (fifo_segment_header_t *fsh, fifo_segment_slice_t *fss, u32 data_bytes) |
| Try to allocate new fifo. More...
|
|
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. More...
|
|
void | fifo_segment_free_fifo (fifo_segment_t *fs, svm_fifo_t *f) |
| Free fifo allocated in fifo segment. More...
|
|
int | fifo_segment_prealloc_fifo_hdrs (fifo_segment_t *fs, u32 slice_index, u32 batch_size) |
| Try to preallocate fifo headers. More...
|
|
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. More...
|
|
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. More...
|
|
int | fifo_segment_grow_fifo (fifo_segment_t *fs, svm_fifo_t *f, u32 chunk_size) |
| Grow fifo size by adding an additional chunk of memory. More...
|
|
int | fifo_segment_collect_fifo_chunks (fifo_segment_t *fs, svm_fifo_t *f) |
| Collect unused chunks for fifo. More...
|
|
u32 | fifo_segment_num_fifos (fifo_segment_t *fs) |
| Get number of active fifos. More...
|
|
static u32 | fs_slice_num_free_fifos (fifo_segment_slice_t *fss) |
|
u32 | fifo_segment_num_free_fifos (fifo_segment_t *fs) |
|
static u32 | fs_slice_num_free_chunks (fifo_segment_slice_t *fss, u32 size) |
|
u32 | fifo_segment_num_free_chunks (fifo_segment_t *fs, u32 size) |
| Find number of free chunks of given size. More...
|
|
void | fifo_segment_update_free_bytes (fifo_segment_t *fs) |
| Update fifo segment free bytes estimate. More...
|
|
uword | fifo_segment_free_bytes (fifo_segment_t *fs) |
| Fifo segment estimate of number of free bytes. More...
|
|
uword | fifo_segment_fl_chunk_bytes (fifo_segment_t *fs) |
| Number of bytes on chunk free lists. More...
|
|
u8 | fifo_segment_has_fifos (fifo_segment_t *fs) |
|
svm_fifo_t * | fifo_segment_get_slice_fifo_list (fifo_segment_t *fs, u32 slice_index) |
|
u8 * | format_fifo_segment_type (u8 *s, va_list *args) |
|
u8 * | format_fifo_segment (u8 *s, va_list *args) |
| Segment format function. More...
|
|