Go to the source code of this file.
|
u32 | vl (void *p) |
|
static void | barrier_trace_sync (f64 t_entry, f64 t_open, f64 t_closed) |
|
static void | barrier_trace_sync_rec (f64 t_entry) |
|
static void | barrier_trace_release_rec (f64 t_entry) |
|
static void | barrier_trace_release (f64 t_entry, f64 t_closed_total, f64 t_update_main) |
|
uword | os_get_nthreads (void) |
|
void | vlib_set_thread_name (char *name) |
|
static int | sort_registrations_by_no_clone (void *a0, void *a1) |
|
clib_error_t * | vlib_thread_init (vlib_main_t *vm) |
|
vlib_frame_queue_t * | vlib_frame_queue_alloc (int nelts) |
|
void | vl_msg_api_handler_no_free (void *) |
|
void | vlib_worker_thread_init (vlib_worker_thread_t *w) |
|
void * | vlib_worker_thread_bootstrap_fn (void *arg) |
|
void | vlib_get_thread_core_numa (vlib_worker_thread_t *w, unsigned cpu_id) |
|
static clib_error_t * | vlib_launch_thread_int (void *fp, vlib_worker_thread_t *w, unsigned cpu_id) |
|
static clib_error_t * | start_workers (vlib_main_t *vm) |
|
static void | worker_thread_node_runtime_update_internal (void) |
|
void | vlib_worker_thread_node_refork (void) |
|
void | vlib_worker_thread_node_runtime_update (void) |
|
u32 | unformat_sched_policy (unformat_input_t *input, va_list *args) |
|
static clib_error_t * | cpu_config (vlib_main_t *vm, unformat_input_t *input) |
|
void | vlib_worker_thread_initial_barrier_sync_and_release (vlib_main_t *vm) |
|
u8 | vlib_worker_thread_barrier_held (void) |
| Return true if the wroker thread barrier is held. More...
|
|
void | vlib_worker_thread_barrier_sync_int (vlib_main_t *vm, const char *func_name) |
|
void | vlib_worker_thread_barrier_release (vlib_main_t *vm) |
|
void | vlib_worker_wait_one_loop (void) |
| Wait until each of the workers has been once around the track. More...
|
|
void | vlib_worker_thread_fn (void *arg) |
|
| VLIB_REGISTER_THREAD (worker_thread_reg, static) |
|
u32 | vlib_frame_queue_main_init (u32 node_index, u32 frame_queue_nelts) |
|
int | vlib_thread_cb_register (struct vlib_main_t *vm, vlib_thread_callbacks_t *cb) |
|
void | vlib_process_signal_event_mt_helper (vlib_process_signal_event_mt_args_t *args) |
|
void | vlib_rpc_call_main_thread (void *callback, u8 *args, u32 arg_size) |
|
clib_error_t * | threads_init (vlib_main_t *vm) |
|
static clib_error_t * | show_clock_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
vlib_thread_main_t * | vlib_get_thread_main_not_inline (void) |
|
◆ BARRIER_MINIMUM_OPEN_FACTOR
#define BARRIER_MINIMUM_OPEN_FACTOR 3 |
◆ BARRIER_MINIMUM_OPEN_LIMIT
#define BARRIER_MINIMUM_OPEN_LIMIT 0.001 |
◆ barrier_trace_release()
static void barrier_trace_release |
( |
f64 |
t_entry, |
|
|
f64 |
t_closed_total, |
|
|
f64 |
t_update_main |
|
) |
| |
|
inlinestatic |
◆ barrier_trace_release_rec()
static void barrier_trace_release_rec |
( |
f64 |
t_entry | ) |
|
|
inlinestatic |
◆ barrier_trace_sync()
static void barrier_trace_sync |
( |
f64 |
t_entry, |
|
|
f64 |
t_open, |
|
|
f64 |
t_closed |
|
) |
| |
|
inlinestatic |
◆ barrier_trace_sync_rec()
static void barrier_trace_sync_rec |
( |
f64 |
t_entry | ) |
|
|
inlinestatic |
◆ cpu_config()
◆ os_get_nthreads()
uword os_get_nthreads |
( |
void |
| ) |
|
◆ show_clock_command_fn()
◆ sort_registrations_by_no_clone()
static int sort_registrations_by_no_clone |
( |
void * |
a0, |
|
|
void * |
a1 |
|
) |
| |
|
static |
◆ start_workers()
◆ threads_init()
◆ unformat_sched_policy()
◆ vl()
◆ vl_msg_api_handler_no_free()
void vl_msg_api_handler_no_free |
( |
void * |
v | ) |
|
◆ vlib_frame_queue_alloc()
◆ vlib_frame_queue_main_init()
u32 vlib_frame_queue_main_init |
( |
u32 |
node_index, |
|
|
u32 |
frame_queue_nelts |
|
) |
| |
◆ vlib_get_thread_core_numa()
◆ vlib_get_thread_main_not_inline()
◆ vlib_launch_thread_int()
◆ vlib_process_signal_event_mt_helper()
◆ VLIB_REGISTER_THREAD()
VLIB_REGISTER_THREAD |
( |
worker_thread_reg |
, |
|
|
static |
|
|
) |
| |
◆ vlib_rpc_call_main_thread()
void vlib_rpc_call_main_thread |
( |
void * |
callback, |
|
|
u8 * |
args, |
|
|
u32 |
arg_size |
|
) |
| |
◆ vlib_set_thread_name()
void vlib_set_thread_name |
( |
char * |
name | ) |
|
◆ vlib_thread_cb_register()
◆ vlib_thread_init()
◆ vlib_worker_thread_barrier_held()
u8 vlib_worker_thread_barrier_held |
( |
void |
| ) |
|
Return true if the wroker thread barrier is held.
Definition at line 1281 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_bootstrap_fn()
void* vlib_worker_thread_bootstrap_fn |
( |
void * |
arg | ) |
|
◆ vlib_worker_thread_fn()
void vlib_worker_thread_fn |
( |
void * |
arg | ) |
|
◆ 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 1499 of file threads.c.
◆ worker_thread_node_runtime_update_internal()
static void worker_thread_node_runtime_update_internal |
( |
void |
| ) |
|
|
inlinestatic |
◆ f_command
Initial value:=
{
.path = "show clock",
.short_help = "show clock",
}
(constructor) VLIB_CLI_COMMAND (f_command)
Definition at line 1697 of file threads.c.
◆ rpc_call_main_thread_cb_fn
void* rpc_call_main_thread_cb_fn |
◆ vlib_thread_main
◆ vlib_worker_threads