Go to the source code of this file.
◆ BARRIER_SYNC_DELAY
#define BARRIER_SYNC_DELAY (0.030000) |
◆ BARRIER_SYNC_TIMEOUT
#define BARRIER_SYNC_TIMEOUT (600.1) |
◆ foreach_sched_policy
#define foreach_sched_policy |
Value: _(SCHED_OTHER, OTHER, "other") \
_(SCHED_BATCH, BATCH, "batch") \
_(SCHED_IDLE, IDLE, "idle") \
_(SCHED_FIFO, FIFO, "fifo") \
_(SCHED_RR, RR, "rr")
Definition at line 221 of file threads.h.
◆ foreach_vlib_main
#define foreach_vlib_main |
( |
| ) |
|
Value:
__foreach_vlib_main_helper (ii, &this_vlib_main); ii++) \
if (this_vlib_main)
Definition at line 216 of file threads.h.
◆ VLIB_CPU_MASK
◆ VLIB_LOG2_THREAD_STACK_SIZE
#define VLIB_LOG2_THREAD_STACK_SIZE (21) |
◆ VLIB_MAX_CPUS
#define VLIB_MAX_CPUS 256 |
◆ VLIB_OFFSET_MASK
◆ VLIB_REGISTER_THREAD
#define VLIB_REGISTER_THREAD |
( |
|
x, |
|
|
|
... |
|
) |
| |
Value:
static void __vlib_add_thread_registration_##x (void) \
__attribute__((__constructor__)) ; \
static void __vlib_add_thread_registration_##x (void) \
{ \
} \
static void __vlib_rm_thread_registration_##x (void) \
__attribute__((__destructor__)) ; \
static void __vlib_rm_thread_registration_##x (void) \
{ \
VLIB_REMOVE_FROM_LINKED_LIST (tm->next, &x,
next); \
} \
Definition at line 313 of file threads.h.
◆ VLIB_THREAD_STACK_SIZE
◆ vlib_worker_thread_barrier_sync
◆ vlib_thread_function_t
typedef void() vlib_thread_function_t(void *arg) |
◆ vlib_thread_registration_t
◆ sched_policy_t
◆ vlib_create_worker_threads()
void vlib_create_worker_threads |
( |
vlib_main_t * |
vm, |
|
|
int |
n, |
|
|
void(*)(void *) |
thread_function |
|
) |
| |
◆ vlib_frame_queue_main_init()
u32 vlib_frame_queue_main_init |
( |
u32 |
node_index, |
|
|
u32 |
frame_queue_nelts |
|
) |
| |
◆ vlib_get_current_worker_index()
static u32 vlib_get_current_worker_index |
( |
| ) |
|
|
inlinestatic |
◆ vlib_get_thread_core_numa()
◆ vlib_get_thread_index()
◆ vlib_get_thread_main_not_inline()
◆ vlib_get_worker_index()
static u32 vlib_get_worker_index |
( |
u32 |
thread_index | ) |
|
|
inlinestatic |
◆ vlib_get_worker_thread_index()
static u32 vlib_get_worker_thread_index |
( |
u32 |
worker_index | ) |
|
|
inlinestatic |
◆ vlib_get_worker_vlib_main()
◆ vlib_num_workers()
static u32 vlib_num_workers |
( |
| ) |
|
|
inlinestatic |
◆ vlib_process_signal_event_mt_helper()
◆ vlib_rpc_call_main_thread()
void vlib_rpc_call_main_thread |
( |
void * |
function, |
|
|
u8 * |
args, |
|
|
u32 |
size |
|
) |
| |
◆ vlib_set_thread_name()
void vlib_set_thread_name |
( |
char * |
name | ) |
|
◆ vlib_smp_unsafe_warning()
static void vlib_smp_unsafe_warning |
( |
void |
| ) |
|
|
inlinestatic |
◆ vlib_thread_cb_register()
◆ vlib_thread_init()
◆ vlib_thread_is_main_w_barrier()
static u8 vlib_thread_is_main_w_barrier |
( |
void |
| ) |
|
|
inlinestatic |
◆ vlib_thread_stack_init()
u8* vlib_thread_stack_init |
( |
uword |
thread_index | ) |
|
◆ vlib_worker_thread_barrier_check()
static void vlib_worker_thread_barrier_check |
( |
void |
| ) |
|
|
inlinestatic |
◆ vlib_worker_thread_barrier_held()
u8 vlib_worker_thread_barrier_held |
( |
void |
| ) |
|
Return true if the wroker thread barrier is held.
Definition at line 1270 of file threads.c.
◆ vlib_worker_thread_barrier_release()
void vlib_worker_thread_barrier_release |
( |
vlib_main_t * |
vm | ) |
|
◆ vlib_worker_thread_barrier_sync_int()
void vlib_worker_thread_barrier_sync_int |
( |
vlib_main_t * |
vm, |
|
|
const char * |
func_name |
|
) |
| |
◆ vlib_worker_thread_init()
◆ vlib_worker_thread_initial_barrier_sync_and_release()
void vlib_worker_thread_initial_barrier_sync_and_release |
( |
vlib_main_t * |
vm | ) |
|
◆ vlib_worker_thread_node_refork()
void vlib_worker_thread_node_refork |
( |
void |
| ) |
|
◆ vlib_worker_thread_node_runtime_update()
void vlib_worker_thread_node_runtime_update |
( |
void |
| ) |
|
◆ vlib_worker_wait_one_loop()
void vlib_worker_wait_one_loop |
( |
void |
| ) |
|
Wait until each of the workers has been once around the track.
Definition at line 1488 of file threads.c.
◆ rpc_call_main_thread_cb_fn
void* rpc_call_main_thread_cb_fn |
◆ vlib_thread_main
◆ vlib_worker_threads