![]() |
FD.io VPP
v18.04-17-g3a0d853
Vector Packet Processing
|
Include dependency graph for threads.h:
This graph shows which files directly or indirectly include this file: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 | ||
| ) |
Here is the caller graph for this function:
|
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 |