FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
perfmon_periodic.c File Reference
+ Include dependency graph for perfmon_periodic.c:

Go to the source code of this file.

Functions

static long perf_event_open (struct perf_event_attr *hw_event, pid_t pid, int cpu, int group_fd, unsigned long flags)
 
static void read_current_perf_counters (vlib_main_t *vm, u64 *c0, u64 *c1, vlib_node_runtime_t *node, vlib_frame_t *frame, int before_or_after)
 
static void clear_counters (perfmon_main_t *pm)
 
static void enable_current_events (perfmon_main_t *pm)
 
static void disable_events (perfmon_main_t *pm)
 
static void worker_thread_start_event (vlib_main_t *vm)
 
static void worker_thread_stop_event (vlib_main_t *vm)
 
static void start_event (perfmon_main_t *pm, f64 now, uword event_data)
 
void scrape_and_clear_counters (perfmon_main_t *pm)
 
static void handle_timeout (vlib_main_t *vm, perfmon_main_t *pm, f64 now)
 
static uword perfmon_periodic_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 

Variables

vlib_node_registration_t perfmon_periodic_node
 (constructor) VLIB_REGISTER_NODE (perfmon_periodic_node) More...
 

Function Documentation

◆ clear_counters()

static void clear_counters ( perfmon_main_t pm)
static

Definition at line 75 of file perfmon_periodic.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ disable_events()

static void disable_events ( perfmon_main_t pm)
static

Definition at line 224 of file perfmon_periodic.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ enable_current_events()

static void enable_current_events ( perfmon_main_t pm)
static

Definition at line 116 of file perfmon_periodic.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handle_timeout()

static void handle_timeout ( vlib_main_t vm,
perfmon_main_t pm,
f64  now 
)
static

Definition at line 465 of file perfmon_periodic.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ perf_event_open()

static long perf_event_open ( struct perf_event_attr *  hw_event,
pid_t  pid,
int  cpu,
int  group_fd,
unsigned long  flags 
)
static

Definition at line 26 of file perfmon_periodic.c.

+ Here is the caller graph for this function:

◆ perfmon_periodic_process()

static uword perfmon_periodic_process ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 538 of file perfmon_periodic.c.

+ Here is the call graph for this function:

◆ read_current_perf_counters()

static void read_current_perf_counters ( vlib_main_t vm,
u64 c0,
u64 c1,
vlib_node_runtime_t node,
vlib_frame_t frame,
int  before_or_after 
)
static

Definition at line 36 of file perfmon_periodic.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ scrape_and_clear_counters()

void scrape_and_clear_counters ( perfmon_main_t pm)

Definition at line 328 of file perfmon_periodic.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ start_event()

static void start_event ( perfmon_main_t pm,
f64  now,
uword  event_data 
)
static

Definition at line 286 of file perfmon_periodic.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ worker_thread_start_event()

static void worker_thread_start_event ( vlib_main_t vm)
static

Definition at line 263 of file perfmon_periodic.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ worker_thread_stop_event()

static void worker_thread_stop_event ( vlib_main_t vm)
static

Definition at line 275 of file perfmon_periodic.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ perfmon_periodic_node

vlib_node_registration_t perfmon_periodic_node
Initial value:
=
{
.name = "perfmon-periodic-process",
}
static uword perfmon_periodic_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)

(constructor) VLIB_REGISTER_NODE (perfmon_periodic_node)

Definition at line 580 of file perfmon_periodic.c.