|
static u8 | position_lt (svm_fifo_t *f, u32 a, u32 b) |
|
static u8 | position_leq (svm_fifo_t *f, u32 a, u32 b) |
|
static u8 | position_gt (svm_fifo_t *f, u32 a, u32 b) |
|
static u32 | position_diff (svm_fifo_t *f, u32 posa, u32 posb) |
|
static u32 | ooo_segment_end_pos (svm_fifo_t *f, ooo_segment_t *s) |
|
u8 * | format_ooo_segment (u8 *s, va_list *args) |
|
u8 * | format_ooo_list (u8 *s, va_list *args) |
|
u8 * | format_svm_fifo (u8 *s, va_list *args) |
|
svm_fifo_t * | svm_fifo_create (u32 data_size_in_bytes) |
| create an svm fifo, in the current heap. More...
|
|
void | svm_fifo_free (svm_fifo_t *f) |
|
static ooo_segment_t * | ooo_segment_new (svm_fifo_t *f, u32 start, u32 length) |
|
static void | ooo_segment_del (svm_fifo_t *f, u32 index) |
|
static void | ooo_segment_add (svm_fifo_t *f, u32 offset, u32 length) |
| Add segment to fifo's out-of-order segment list. More...
|
|
static int | ooo_segment_try_collect (svm_fifo_t *f, u32 n_bytes_enqueued) |
| Removes segments that can now be enqueued because the fifo's tail has advanced. More...
|
|
static int | svm_fifo_enqueue_internal (svm_fifo_t *f, u32 max_bytes, u8 *copy_from_here) |
|
static int | svm_fifo_enqueue_nowait_ma (svm_fifo_t *f, u32 max_bytes, u8 *copy_from_here) |
|
| foreach_march_variant (SVM_ENQUEUE_CLONE_TEMPLATE, svm_fifo_enqueue_nowait_ma) |
|
| CLIB_MULTIARCH_SELECT_FN (svm_fifo_enqueue_nowait_ma) |
|
int | svm_fifo_enqueue_nowait (svm_fifo_t *f, u32 max_bytes, u8 *copy_from_here) |
|
static int | svm_fifo_enqueue_with_offset_internal (svm_fifo_t *f, u32 offset, u32 required_bytes, u8 *copy_from_here) |
| Enqueue a future segment. More...
|
|
int | svm_fifo_enqueue_with_offset (svm_fifo_t *f, u32 offset, u32 required_bytes, u8 *copy_from_here) |
|
static int | svm_fifo_dequeue_internal (svm_fifo_t *f, u32 max_bytes, u8 *copy_here) |
|
static int | svm_fifo_dequeue_nowait_ma (svm_fifo_t *f, u32 max_bytes, u8 *copy_here) |
|
| foreach_march_variant (SVM_FIFO_DEQUEUE_CLONE_TEMPLATE, svm_fifo_dequeue_nowait_ma) |
|
| CLIB_MULTIARCH_SELECT_FN (svm_fifo_dequeue_nowait_ma) |
|
int | svm_fifo_dequeue_nowait (svm_fifo_t *f, u32 max_bytes, u8 *copy_here) |
|
static int | svm_fifo_peek_ma (svm_fifo_t *f, u32 relative_offset, u32 max_bytes, u8 *copy_here) |
|
| foreach_march_variant (SVM_FIFO_PEEK_CLONE_TEMPLATE, svm_fifo_peek_ma) |
|
| CLIB_MULTIARCH_SELECT_FN (svm_fifo_peek_ma) |
|
int | svm_fifo_peek (svm_fifo_t *f, u32 relative_offset, u32 max_bytes, u8 *copy_here) |
|
int | svm_fifo_dequeue_drop (svm_fifo_t *f, u32 max_bytes) |
|
u32 | svm_fifo_number_ooo_segments (svm_fifo_t *f) |
|
ooo_segment_t * | svm_fifo_first_ooo_segment (svm_fifo_t *f) |
|
void | svm_fifo_init_pointers (svm_fifo_t *f, u32 pointer) |
| Set fifo pointers to requested offset. More...
|
|