FD.io VPP
v18.04-17-g3a0d853
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | vlib_thread_registration_ |
struct | vlib_frame_queue_elt_t |
struct | vlib_worker_thread_t |
struct | vlib_frame_queue_t |
struct | vlib_frame_queue_main_t |
struct | vlib_process_signal_event_mt_args_t |
struct | vlib_thread_callbacks_t |
struct | vlib_thread_main_t |
Macros | |
#define | VLIB_MAX_CPUS 256 |
#define | VLIB_CPU_MASK (VLIB_MAX_CPUS - 1) /* 0x3f, max */ |
#define | VLIB_OFFSET_MASK (~VLIB_CPU_MASK) |
#define | VLIB_LOG2_THREAD_STACK_SIZE (21) |
#define | VLIB_THREAD_STACK_SIZE (1<<VLIB_LOG2_THREAD_STACK_SIZE) |
#define | BARRIER_SYNC_DELAY (0.030000) |
#define | BARRIER_SYNC_TIMEOUT (600.1) |
#define | vlib_worker_thread_barrier_sync(X) vlib_worker_thread_barrier_sync_int(X) |
#define | foreach_vlib_main(body) |
#define | foreach_sched_policy |
#define | VLIB_REGISTER_THREAD(x, ...) |
Typedefs | |
typedef void( | vlib_thread_function_t) (void *arg) |
typedef struct vlib_thread_registration_ | vlib_thread_registration_t |
Enumerations | |
enum | vlib_frame_queue_msg_type_t { VLIB_FRAME_QUEUE_ELT_DISPATCH_FRAME } |
enum | vlib_fork_fixup_t { VLIB_WORKER_THREAD_FORK_FIXUP_ILLEGAL = 0, VLIB_WORKER_THREAD_FORK_FIXUP_NEW_SW_IF_INDEX } |
enum | sched_policy_t { SCHED_POLICY_N } |
Variables | |
vlib_main_t ** | vlib_mains |
vlib_worker_thread_t * | vlib_worker_threads |
vlib_thread_main_t | vlib_thread_main |
void * | rpc_call_main_thread_cb_fn |
#define foreach_sched_policy |
#define foreach_vlib_main | ( | body | ) |
#define VLIB_CPU_MASK (VLIB_MAX_CPUS - 1) /* 0x3f, max */ |
#define VLIB_OFFSET_MASK (~VLIB_CPU_MASK) |
#define VLIB_REGISTER_THREAD | ( | x, | |
... | |||
) |
#define VLIB_THREAD_STACK_SIZE (1<<VLIB_LOG2_THREAD_STACK_SIZE) |
#define vlib_worker_thread_barrier_sync | ( | X | ) | vlib_worker_thread_barrier_sync_int(X) |
typedef struct vlib_thread_registration_ vlib_thread_registration_t |
enum sched_policy_t |
enum vlib_fork_fixup_t |
|
inlinestatic |
void vlib_create_worker_threads | ( | vlib_main_t * | vm, |
int | n, | ||
void(*)(void *) | thread_function | ||
) |
int vlib_frame_queue_dequeue | ( | vlib_main_t * | vm, |
vlib_frame_queue_main_t * | fqm | ||
) |
int vlib_frame_queue_enqueue | ( | vlib_main_t * | vm, |
u32 | node_runtime_index, | ||
u32 | frame_queue_index, | ||
vlib_frame_t * | frame, | ||
vlib_frame_queue_msg_type_t | type | ||
) |
|
inlinestatic |
|
inlinestatic |
static_always_inline uword vlib_get_thread_index | ( | void | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void vlib_process_signal_event_mt_helper | ( | vlib_process_signal_event_mt_args_t * | args | ) |
|
inlinestatic |
void vlib_set_thread_name | ( | char * | name | ) |
|
inlinestatic |
int vlib_thread_cb_register | ( | struct vlib_main_t * | vm, |
vlib_thread_callbacks_t * | cb | ||
) |
clib_error_t* vlib_thread_init | ( | vlib_main_t * | vm | ) |
|
inlinestatic |
void vlib_worker_thread_barrier_release | ( | vlib_main_t * | vm | ) |
void vlib_worker_thread_barrier_sync_int | ( | vlib_main_t * | vm | ) |
void vlib_worker_thread_fork_fixup | ( | vlib_fork_fixup_t | which | ) |
void vlib_worker_thread_init | ( | vlib_worker_thread_t * | w | ) |
void vlib_worker_thread_node_refork | ( | void | ) |
void vlib_worker_thread_node_runtime_update | ( | void | ) |
vlib_main_t** vlib_mains |
vlib_thread_main_t vlib_thread_main |
vlib_worker_thread_t* vlib_worker_threads |