#include <errno.h>
#include "util/kvm-stat.h"
#include "util/parse-events.h"
#include "util/debug.h"
#include "book3s_hv_exits.h"
#include "book3s_hcalls.h"
Go to the source code of this file.
|
| define_exit_reasons_table (hv_exit_reasons, kvm_trace_symbol_exit) |
|
| define_exit_reasons_table (hcall_reasons, kvm_trace_symbol_hcall) |
|
static void | hcall_event_get_key (struct perf_evsel *evsel, struct perf_sample *sample, struct event_key *key) |
|
static const char * | get_hcall_exit_reason (u64 exit_code) |
|
static bool | hcall_event_end (struct perf_evsel *evsel, struct perf_sample *sample __maybe_unused, struct event_key *key __maybe_unused) |
|
static bool | hcall_event_begin (struct perf_evsel *evsel, struct perf_sample *sample, struct event_key *key) |
|
static void | hcall_event_decode_key (struct perf_kvm_stat *kvm __maybe_unused, struct event_key *key, char *decode) |
|
static int | is_tracepoint_available (const char *str, struct perf_evlist *evlist) |
|
static int | ppc__setup_book3s_hv (struct perf_kvm_stat *kvm, struct perf_evlist *evlist) |
|
static int | ppc__setup_kvm_tp (struct perf_kvm_stat *kvm) |
|
int | setup_kvm_events_tp (struct perf_kvm_stat *kvm) |
|
int | cpu_isa_init (struct perf_kvm_stat *kvm, const char *cpuid __maybe_unused) |
|
◆ NR_TPS
◆ cpu_isa_init()
◆ define_exit_reasons_table() [1/2]
◆ define_exit_reasons_table() [2/2]
◆ get_hcall_exit_reason()
static const char* get_hcall_exit_reason |
( |
u64 |
exit_code | ) |
|
|
static |
◆ hcall_event_begin()
◆ hcall_event_decode_key()
static void hcall_event_decode_key |
( |
struct perf_kvm_stat *kvm |
__maybe_unused, |
|
|
struct event_key * |
key, |
|
|
char * |
decode |
|
) |
| |
|
static |
◆ hcall_event_end()
◆ hcall_event_get_key()
◆ is_tracepoint_available()
static int is_tracepoint_available |
( |
const char * |
str, |
|
|
struct perf_evlist * |
evlist |
|
) |
| |
|
static |
◆ ppc__setup_book3s_hv()
◆ ppc__setup_kvm_tp()
◆ setup_kvm_events_tp()
◆ decode_str_len
const int decode_str_len = 40 |
◆ exit_events
Initial value:= {
.name = "VM-EXIT"
}
bool exit_event_begin(struct perf_evsel *evsel, struct perf_sample *sample, struct event_key *key)
void exit_event_decode_key(struct perf_kvm_stat *kvm, struct event_key *key, char *decode)
bool exit_event_end(struct perf_evsel *evsel, struct perf_sample *sample, struct event_key *key)
Definition at line 89 of file kvm-stat.c.
◆ hcall_events
Initial value:= {
.name = "HCALL-EVENT",
}
static void hcall_event_decode_key(struct perf_kvm_stat *kvm __maybe_unused, struct event_key *key, char *decode)
static bool hcall_event_end(struct perf_evsel *evsel, struct perf_sample *sample __maybe_unused, struct event_key *key __maybe_unused)
static bool hcall_event_begin(struct perf_evsel *evsel, struct perf_sample *sample, struct event_key *key)
Definition at line 82 of file kvm-stat.c.
◆ kvm_entry_trace
const char* kvm_entry_trace = "kvm_hv:kvm_guest_enter" |
◆ kvm_events_tp
const char* kvm_events_tp[NR_TPS+1] |
◆ kvm_exit_reason
const char* kvm_exit_reason |
◆ kvm_exit_trace
const char* kvm_exit_trace = "kvm_hv:kvm_guest_exit" |
◆ kvm_reg_events_ops
Initial value:= {
{ NULL, NULL },
}
static struct kvm_events_ops exit_events
static struct kvm_events_ops hcall_events
Definition at line 96 of file kvm-stat.c.
◆ kvm_skip_events
const char* const kvm_skip_events[] |
◆ ppc_book3s_hv_kvm_tp
const char* ppc_book3s_hv_kvm_tp[] |
Initial value:= {
"kvm_hv:kvm_guest_enter",
"kvm_hv:kvm_guest_exit",
"kvm_hv:kvm_hcall_enter",
"kvm_hv:kvm_hcall_exit",
NULL,
}
Definition at line 21 of file kvm-stat.c.
◆ vcpu_id_str
const char* vcpu_id_str = "vcpu_id" |