perf evsel: Rename perf_evsel__{str,int}val() and other tracepoint field metehods to to evsel__*()

As those are not 'struct evsel' methods, not part of tools/lib/perf/,
aka libperf, to whom the perf_ prefix belongs.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2020-04-29 16:26:57 -03:00
parent aa8c406b0a
commit efc0cdc9ed
16 changed files with 118 additions and 126 deletions

View File

@ -39,7 +39,7 @@ static void hcall_event_get_key(struct evsel *evsel,
struct event_key *key) struct event_key *key)
{ {
key->info = 0; key->info = 0;
key->key = perf_evsel__intval(evsel, sample, "req"); key->key = evsel__intval(evsel, sample, "req");
} }
static const char *get_hcall_exit_reason(u64 exit_code) static const char *get_hcall_exit_reason(u64 exit_code)

View File

@ -30,7 +30,7 @@ static void event_icpt_insn_get_key(struct evsel *evsel,
{ {
unsigned long insn; unsigned long insn;
insn = perf_evsel__intval(evsel, sample, "instruction"); insn = evsel__intval(evsel, sample, "instruction");
key->key = icpt_insn_decoder(insn); key->key = icpt_insn_decoder(insn);
key->exit_reasons = sie_icpt_insn_codes; key->exit_reasons = sie_icpt_insn_codes;
} }
@ -39,7 +39,7 @@ static void event_sigp_get_key(struct evsel *evsel,
struct perf_sample *sample, struct perf_sample *sample,
struct event_key *key) struct event_key *key)
{ {
key->key = perf_evsel__intval(evsel, sample, "order_code"); key->key = evsel__intval(evsel, sample, "order_code");
key->exit_reasons = sie_sigp_order_codes; key->exit_reasons = sie_sigp_order_codes;
} }
@ -47,7 +47,7 @@ static void event_diag_get_key(struct evsel *evsel,
struct perf_sample *sample, struct perf_sample *sample,
struct event_key *key) struct event_key *key)
{ {
key->key = perf_evsel__intval(evsel, sample, "code"); key->key = evsel__intval(evsel, sample, "code");
key->exit_reasons = sie_diagnose_codes; key->exit_reasons = sie_diagnose_codes;
} }
@ -55,7 +55,7 @@ static void event_icpt_prog_get_key(struct evsel *evsel,
struct perf_sample *sample, struct perf_sample *sample,
struct event_key *key) struct event_key *key)
{ {
key->key = perf_evsel__intval(evsel, sample, "code"); key->key = evsel__intval(evsel, sample, "code");
key->exit_reasons = sie_icpt_prog_codes; key->exit_reasons = sie_icpt_prog_codes;
} }

View File

@ -31,8 +31,8 @@ const char *kvm_exit_trace = "kvm:kvm_exit";
static void mmio_event_get_key(struct evsel *evsel, struct perf_sample *sample, static void mmio_event_get_key(struct evsel *evsel, struct perf_sample *sample,
struct event_key *key) struct event_key *key)
{ {
key->key = perf_evsel__intval(evsel, sample, "gpa"); key->key = evsel__intval(evsel, sample, "gpa");
key->info = perf_evsel__intval(evsel, sample, "type"); key->info = evsel__intval(evsel, sample, "type");
} }
#define KVM_TRACE_MMIO_READ_UNSATISFIED 0 #define KVM_TRACE_MMIO_READ_UNSATISFIED 0
@ -48,7 +48,7 @@ static bool mmio_event_begin(struct evsel *evsel,
/* MMIO write begin event in kernel. */ /* MMIO write begin event in kernel. */
if (!strcmp(evsel->name, "kvm:kvm_mmio") && if (!strcmp(evsel->name, "kvm:kvm_mmio") &&
perf_evsel__intval(evsel, sample, "type") == KVM_TRACE_MMIO_WRITE) { evsel__intval(evsel, sample, "type") == KVM_TRACE_MMIO_WRITE) {
mmio_event_get_key(evsel, sample, key); mmio_event_get_key(evsel, sample, key);
return true; return true;
} }
@ -65,7 +65,7 @@ static bool mmio_event_end(struct evsel *evsel, struct perf_sample *sample,
/* MMIO read end event in kernel.*/ /* MMIO read end event in kernel.*/
if (!strcmp(evsel->name, "kvm:kvm_mmio") && if (!strcmp(evsel->name, "kvm:kvm_mmio") &&
perf_evsel__intval(evsel, sample, "type") == KVM_TRACE_MMIO_READ) { evsel__intval(evsel, sample, "type") == KVM_TRACE_MMIO_READ) {
mmio_event_get_key(evsel, sample, key); mmio_event_get_key(evsel, sample, key);
return true; return true;
} }
@ -94,8 +94,8 @@ static void ioport_event_get_key(struct evsel *evsel,
struct perf_sample *sample, struct perf_sample *sample,
struct event_key *key) struct event_key *key)
{ {
key->key = perf_evsel__intval(evsel, sample, "port"); key->key = evsel__intval(evsel, sample, "port");
key->info = perf_evsel__intval(evsel, sample, "rw"); key->info = evsel__intval(evsel, sample, "rw");
} }
static bool ioport_event_begin(struct evsel *evsel, static bool ioport_event_begin(struct evsel *evsel,

View File

@ -536,7 +536,7 @@ static int perf_inject__sched_stat(struct perf_tool *tool,
union perf_event *event_sw; union perf_event *event_sw;
struct perf_sample sample_sw; struct perf_sample sample_sw;
struct perf_inject *inject = container_of(tool, struct perf_inject, tool); struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
u32 pid = perf_evsel__intval(evsel, sample, "pid"); u32 pid = evsel__intval(evsel, sample, "pid");
list_for_each_entry(ent, &inject->samples, node) { list_for_each_entry(ent, &inject->samples, node) {
if (pid == ent->tid) if (pid == ent->tid)

View File

@ -172,10 +172,10 @@ static int insert_caller_stat(unsigned long call_site,
static int perf_evsel__process_alloc_event(struct evsel *evsel, static int perf_evsel__process_alloc_event(struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
unsigned long ptr = perf_evsel__intval(evsel, sample, "ptr"), unsigned long ptr = evsel__intval(evsel, sample, "ptr"),
call_site = perf_evsel__intval(evsel, sample, "call_site"); call_site = evsel__intval(evsel, sample, "call_site");
int bytes_req = perf_evsel__intval(evsel, sample, "bytes_req"), int bytes_req = evsel__intval(evsel, sample, "bytes_req"),
bytes_alloc = perf_evsel__intval(evsel, sample, "bytes_alloc"); bytes_alloc = evsel__intval(evsel, sample, "bytes_alloc");
if (insert_alloc_stat(call_site, ptr, bytes_req, bytes_alloc, sample->cpu) || if (insert_alloc_stat(call_site, ptr, bytes_req, bytes_alloc, sample->cpu) ||
insert_caller_stat(call_site, bytes_req, bytes_alloc)) insert_caller_stat(call_site, bytes_req, bytes_alloc))
@ -195,7 +195,7 @@ static int perf_evsel__process_alloc_node_event(struct evsel *evsel,
if (!ret) { if (!ret) {
int node1 = cpu__get_node(sample->cpu), int node1 = cpu__get_node(sample->cpu),
node2 = perf_evsel__intval(evsel, sample, "node"); node2 = evsel__intval(evsel, sample, "node");
if (node1 != node2) if (node1 != node2)
nr_cross_allocs++; nr_cross_allocs++;
@ -235,7 +235,7 @@ static struct alloc_stat *search_alloc_stat(unsigned long ptr,
static int perf_evsel__process_free_event(struct evsel *evsel, static int perf_evsel__process_free_event(struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
unsigned long ptr = perf_evsel__intval(evsel, sample, "ptr"); unsigned long ptr = evsel__intval(evsel, sample, "ptr");
struct alloc_stat *s_alloc, *s_caller; struct alloc_stat *s_alloc, *s_caller;
s_alloc = search_alloc_stat(ptr, 0, &root_alloc_stat, ptr_cmp); s_alloc = search_alloc_stat(ptr, 0, &root_alloc_stat, ptr_cmp);
@ -788,9 +788,9 @@ static int perf_evsel__process_page_alloc_event(struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
u64 page; u64 page;
unsigned int order = perf_evsel__intval(evsel, sample, "order"); unsigned int order = evsel__intval(evsel, sample, "order");
unsigned int gfp_flags = perf_evsel__intval(evsel, sample, "gfp_flags"); unsigned int gfp_flags = evsel__intval(evsel, sample, "gfp_flags");
unsigned int migrate_type = perf_evsel__intval(evsel, sample, unsigned int migrate_type = evsel__intval(evsel, sample,
"migratetype"); "migratetype");
u64 bytes = kmem_page_size << order; u64 bytes = kmem_page_size << order;
u64 callsite; u64 callsite;
@ -802,9 +802,9 @@ static int perf_evsel__process_page_alloc_event(struct evsel *evsel,
}; };
if (use_pfn) if (use_pfn)
page = perf_evsel__intval(evsel, sample, "pfn"); page = evsel__intval(evsel, sample, "pfn");
else else
page = perf_evsel__intval(evsel, sample, "page"); page = evsel__intval(evsel, sample, "page");
nr_page_allocs++; nr_page_allocs++;
total_page_alloc_bytes += bytes; total_page_alloc_bytes += bytes;
@ -861,7 +861,7 @@ static int perf_evsel__process_page_free_event(struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
u64 page; u64 page;
unsigned int order = perf_evsel__intval(evsel, sample, "order"); unsigned int order = evsel__intval(evsel, sample, "order");
u64 bytes = kmem_page_size << order; u64 bytes = kmem_page_size << order;
struct page_stat *pstat; struct page_stat *pstat;
struct page_stat this = { struct page_stat this = {
@ -869,9 +869,9 @@ static int perf_evsel__process_page_free_event(struct evsel *evsel,
}; };
if (use_pfn) if (use_pfn)
page = perf_evsel__intval(evsel, sample, "pfn"); page = evsel__intval(evsel, sample, "pfn");
else else
page = perf_evsel__intval(evsel, sample, "page"); page = evsel__intval(evsel, sample, "page");
nr_page_frees++; nr_page_frees++;
total_page_free_bytes += bytes; total_page_free_bytes += bytes;
@ -1392,7 +1392,7 @@ static int __cmd_kmem(struct perf_session *session)
evlist__for_each_entry(session->evlist, evsel) { evlist__for_each_entry(session->evlist, evsel) {
if (!strcmp(evsel__name(evsel), "kmem:mm_page_alloc") && if (!strcmp(evsel__name(evsel), "kmem:mm_page_alloc") &&
perf_evsel__field(evsel, "pfn")) { evsel__field(evsel, "pfn")) {
use_pfn = true; use_pfn = true;
break; break;
} }

View File

@ -69,7 +69,7 @@ void exit_event_get_key(struct evsel *evsel,
struct event_key *key) struct event_key *key)
{ {
key->info = 0; key->info = 0;
key->key = perf_evsel__intval(evsel, sample, kvm_exit_reason); key->key = evsel__intval(evsel, sample, kvm_exit_reason);
} }
bool kvm_exit_event(struct evsel *evsel) bool kvm_exit_event(struct evsel *evsel)
@ -416,8 +416,7 @@ struct vcpu_event_record *per_vcpu_record(struct thread *thread,
return NULL; return NULL;
} }
vcpu_record->vcpu_id = perf_evsel__intval(evsel, sample, vcpu_record->vcpu_id = evsel__intval(evsel, sample, vcpu_id_str);
vcpu_id_str);
thread__set_priv(thread, vcpu_record); thread__set_priv(thread, vcpu_record);
} }

View File

@ -48,7 +48,7 @@ struct lock_stat {
struct rb_node rb; /* used for sorting */ struct rb_node rb; /* used for sorting */
/* /*
* FIXME: perf_evsel__intval() returns u64, * FIXME: evsel__intval() returns u64,
* so address of lockdep_map should be dealed as 64bit. * so address of lockdep_map should be dealed as 64bit.
* Is there more better solution? * Is there more better solution?
*/ */
@ -404,9 +404,9 @@ static int report_lock_acquire_event(struct evsel *evsel,
struct lock_stat *ls; struct lock_stat *ls;
struct thread_stat *ts; struct thread_stat *ts;
struct lock_seq_stat *seq; struct lock_seq_stat *seq;
const char *name = perf_evsel__strval(evsel, sample, "name"); const char *name = evsel__strval(evsel, sample, "name");
u64 tmp = perf_evsel__intval(evsel, sample, "lockdep_addr"); u64 tmp = evsel__intval(evsel, sample, "lockdep_addr");
int flag = perf_evsel__intval(evsel, sample, "flag"); int flag = evsel__intval(evsel, sample, "flag");
memcpy(&addr, &tmp, sizeof(void *)); memcpy(&addr, &tmp, sizeof(void *));
@ -477,8 +477,8 @@ static int report_lock_acquired_event(struct evsel *evsel,
struct thread_stat *ts; struct thread_stat *ts;
struct lock_seq_stat *seq; struct lock_seq_stat *seq;
u64 contended_term; u64 contended_term;
const char *name = perf_evsel__strval(evsel, sample, "name"); const char *name = evsel__strval(evsel, sample, "name");
u64 tmp = perf_evsel__intval(evsel, sample, "lockdep_addr"); u64 tmp = evsel__intval(evsel, sample, "lockdep_addr");
memcpy(&addr, &tmp, sizeof(void *)); memcpy(&addr, &tmp, sizeof(void *));
@ -539,8 +539,8 @@ static int report_lock_contended_event(struct evsel *evsel,
struct lock_stat *ls; struct lock_stat *ls;
struct thread_stat *ts; struct thread_stat *ts;
struct lock_seq_stat *seq; struct lock_seq_stat *seq;
const char *name = perf_evsel__strval(evsel, sample, "name"); const char *name = evsel__strval(evsel, sample, "name");
u64 tmp = perf_evsel__intval(evsel, sample, "lockdep_addr"); u64 tmp = evsel__intval(evsel, sample, "lockdep_addr");
memcpy(&addr, &tmp, sizeof(void *)); memcpy(&addr, &tmp, sizeof(void *));
@ -594,8 +594,8 @@ static int report_lock_release_event(struct evsel *evsel,
struct lock_stat *ls; struct lock_stat *ls;
struct thread_stat *ts; struct thread_stat *ts;
struct lock_seq_stat *seq; struct lock_seq_stat *seq;
const char *name = perf_evsel__strval(evsel, sample, "name"); const char *name = evsel__strval(evsel, sample, "name");
u64 tmp = perf_evsel__intval(evsel, sample, "lockdep_addr"); u64 tmp = evsel__intval(evsel, sample, "lockdep_addr");
memcpy(&addr, &tmp, sizeof(void *)); memcpy(&addr, &tmp, sizeof(void *));

View File

@ -811,8 +811,8 @@ replay_wakeup_event(struct perf_sched *sched,
struct evsel *evsel, struct perf_sample *sample, struct evsel *evsel, struct perf_sample *sample,
struct machine *machine __maybe_unused) struct machine *machine __maybe_unused)
{ {
const char *comm = perf_evsel__strval(evsel, sample, "comm"); const char *comm = evsel__strval(evsel, sample, "comm");
const u32 pid = perf_evsel__intval(evsel, sample, "pid"); const u32 pid = evsel__intval(evsel, sample, "pid");
struct task_desc *waker, *wakee; struct task_desc *waker, *wakee;
if (verbose > 0) { if (verbose > 0) {
@ -833,11 +833,11 @@ static int replay_switch_event(struct perf_sched *sched,
struct perf_sample *sample, struct perf_sample *sample,
struct machine *machine __maybe_unused) struct machine *machine __maybe_unused)
{ {
const char *prev_comm = perf_evsel__strval(evsel, sample, "prev_comm"), const char *prev_comm = evsel__strval(evsel, sample, "prev_comm"),
*next_comm = perf_evsel__strval(evsel, sample, "next_comm"); *next_comm = evsel__strval(evsel, sample, "next_comm");
const u32 prev_pid = perf_evsel__intval(evsel, sample, "prev_pid"), const u32 prev_pid = evsel__intval(evsel, sample, "prev_pid"),
next_pid = perf_evsel__intval(evsel, sample, "next_pid"); next_pid = evsel__intval(evsel, sample, "next_pid");
const u64 prev_state = perf_evsel__intval(evsel, sample, "prev_state"); const u64 prev_state = evsel__intval(evsel, sample, "prev_state");
struct task_desc *prev, __maybe_unused *next; struct task_desc *prev, __maybe_unused *next;
u64 timestamp0, timestamp = sample->time; u64 timestamp0, timestamp = sample->time;
int cpu = sample->cpu; int cpu = sample->cpu;
@ -1106,9 +1106,9 @@ static int latency_switch_event(struct perf_sched *sched,
struct perf_sample *sample, struct perf_sample *sample,
struct machine *machine) struct machine *machine)
{ {
const u32 prev_pid = perf_evsel__intval(evsel, sample, "prev_pid"), const u32 prev_pid = evsel__intval(evsel, sample, "prev_pid"),
next_pid = perf_evsel__intval(evsel, sample, "next_pid"); next_pid = evsel__intval(evsel, sample, "next_pid");
const u64 prev_state = perf_evsel__intval(evsel, sample, "prev_state"); const u64 prev_state = evsel__intval(evsel, sample, "prev_state");
struct work_atoms *out_events, *in_events; struct work_atoms *out_events, *in_events;
struct thread *sched_out, *sched_in; struct thread *sched_out, *sched_in;
u64 timestamp0, timestamp = sample->time; u64 timestamp0, timestamp = sample->time;
@ -1176,8 +1176,8 @@ static int latency_runtime_event(struct perf_sched *sched,
struct perf_sample *sample, struct perf_sample *sample,
struct machine *machine) struct machine *machine)
{ {
const u32 pid = perf_evsel__intval(evsel, sample, "pid"); const u32 pid = evsel__intval(evsel, sample, "pid");
const u64 runtime = perf_evsel__intval(evsel, sample, "runtime"); const u64 runtime = evsel__intval(evsel, sample, "runtime");
struct thread *thread = machine__findnew_thread(machine, -1, pid); struct thread *thread = machine__findnew_thread(machine, -1, pid);
struct work_atoms *atoms = thread_atoms_search(&sched->atom_root, thread, &sched->cmp_pid); struct work_atoms *atoms = thread_atoms_search(&sched->atom_root, thread, &sched->cmp_pid);
u64 timestamp = sample->time; u64 timestamp = sample->time;
@ -1211,7 +1211,7 @@ static int latency_wakeup_event(struct perf_sched *sched,
struct perf_sample *sample, struct perf_sample *sample,
struct machine *machine) struct machine *machine)
{ {
const u32 pid = perf_evsel__intval(evsel, sample, "pid"); const u32 pid = evsel__intval(evsel, sample, "pid");
struct work_atoms *atoms; struct work_atoms *atoms;
struct work_atom *atom; struct work_atom *atom;
struct thread *wakee; struct thread *wakee;
@ -1272,7 +1272,7 @@ static int latency_migrate_task_event(struct perf_sched *sched,
struct perf_sample *sample, struct perf_sample *sample,
struct machine *machine) struct machine *machine)
{ {
const u32 pid = perf_evsel__intval(evsel, sample, "pid"); const u32 pid = evsel__intval(evsel, sample, "pid");
u64 timestamp = sample->time; u64 timestamp = sample->time;
struct work_atoms *atoms; struct work_atoms *atoms;
struct work_atom *atom; struct work_atom *atom;
@ -1526,7 +1526,7 @@ map__findnew_thread(struct perf_sched *sched, struct machine *machine, pid_t pid
static int map_switch_event(struct perf_sched *sched, struct evsel *evsel, static int map_switch_event(struct perf_sched *sched, struct evsel *evsel,
struct perf_sample *sample, struct machine *machine) struct perf_sample *sample, struct machine *machine)
{ {
const u32 next_pid = perf_evsel__intval(evsel, sample, "next_pid"); const u32 next_pid = evsel__intval(evsel, sample, "next_pid");
struct thread *sched_in; struct thread *sched_in;
struct thread_runtime *tr; struct thread_runtime *tr;
int new_shortname; int new_shortname;
@ -1670,8 +1670,8 @@ static int process_sched_switch_event(struct perf_tool *tool,
{ {
struct perf_sched *sched = container_of(tool, struct perf_sched, tool); struct perf_sched *sched = container_of(tool, struct perf_sched, tool);
int this_cpu = sample->cpu, err = 0; int this_cpu = sample->cpu, err = 0;
u32 prev_pid = perf_evsel__intval(evsel, sample, "prev_pid"), u32 prev_pid = evsel__intval(evsel, sample, "prev_pid"),
next_pid = perf_evsel__intval(evsel, sample, "next_pid"); next_pid = evsel__intval(evsel, sample, "next_pid");
if (sched->curr_pid[this_cpu] != (u32)-1) { if (sched->curr_pid[this_cpu] != (u32)-1) {
/* /*
@ -2004,8 +2004,8 @@ static void timehist_print_sample(struct perf_sched *sched,
u64 t, int state) u64 t, int state)
{ {
struct thread_runtime *tr = thread__priv(thread); struct thread_runtime *tr = thread__priv(thread);
const char *next_comm = perf_evsel__strval(evsel, sample, "next_comm"); const char *next_comm = evsel__strval(evsel, sample, "next_comm");
const u32 next_pid = perf_evsel__intval(evsel, sample, "next_pid"); const u32 next_pid = evsel__intval(evsel, sample, "next_pid");
u32 max_cpus = sched->max_cpu + 1; u32 max_cpus = sched->max_cpu + 1;
char tstr[64]; char tstr[64];
char nstr[30]; char nstr[30];
@ -2137,7 +2137,7 @@ static bool is_idle_sample(struct perf_sample *sample,
{ {
/* pid 0 == swapper == idle task */ /* pid 0 == swapper == idle task */
if (strcmp(evsel__name(evsel), "sched:sched_switch") == 0) if (strcmp(evsel__name(evsel), "sched:sched_switch") == 0)
return perf_evsel__intval(evsel, sample, "prev_pid") == 0; return evsel__intval(evsel, sample, "prev_pid") == 0;
return sample->pid == 0; return sample->pid == 0;
} }
@ -2334,7 +2334,7 @@ static struct thread *timehist_get_thread(struct perf_sched *sched,
itr->last_thread = thread; itr->last_thread = thread;
/* copy task callchain when entering to idle */ /* copy task callchain when entering to idle */
if (perf_evsel__intval(evsel, sample, "next_pid") == 0) if (evsel__intval(evsel, sample, "next_pid") == 0)
save_idle_callchain(sched, itr, sample); save_idle_callchain(sched, itr, sample);
} }
} }
@ -2357,8 +2357,8 @@ static bool timehist_skip_sample(struct perf_sched *sched,
if (sched->idle_hist) { if (sched->idle_hist) {
if (strcmp(evsel__name(evsel), "sched:sched_switch")) if (strcmp(evsel__name(evsel), "sched:sched_switch"))
rc = true; rc = true;
else if (perf_evsel__intval(evsel, sample, "prev_pid") != 0 && else if (evsel__intval(evsel, sample, "prev_pid") != 0 &&
perf_evsel__intval(evsel, sample, "next_pid") != 0) evsel__intval(evsel, sample, "next_pid") != 0)
rc = true; rc = true;
} }
@ -2409,7 +2409,7 @@ static int timehist_sched_wakeup_event(struct perf_tool *tool,
struct thread *thread; struct thread *thread;
struct thread_runtime *tr = NULL; struct thread_runtime *tr = NULL;
/* want pid of awakened task not pid in sample */ /* want pid of awakened task not pid in sample */
const u32 pid = perf_evsel__intval(evsel, sample, "pid"); const u32 pid = evsel__intval(evsel, sample, "pid");
thread = machine__findnew_thread(machine, 0, pid); thread = machine__findnew_thread(machine, 0, pid);
if (thread == NULL) if (thread == NULL)
@ -2445,8 +2445,8 @@ static void timehist_print_migration_event(struct perf_sched *sched,
return; return;
max_cpus = sched->max_cpu + 1; max_cpus = sched->max_cpu + 1;
ocpu = perf_evsel__intval(evsel, sample, "orig_cpu"); ocpu = evsel__intval(evsel, sample, "orig_cpu");
dcpu = perf_evsel__intval(evsel, sample, "dest_cpu"); dcpu = evsel__intval(evsel, sample, "dest_cpu");
thread = machine__findnew_thread(machine, sample->pid, sample->tid); thread = machine__findnew_thread(machine, sample->pid, sample->tid);
if (thread == NULL) if (thread == NULL)
@ -2493,7 +2493,7 @@ static int timehist_migrate_task_event(struct perf_tool *tool,
struct thread *thread; struct thread *thread;
struct thread_runtime *tr = NULL; struct thread_runtime *tr = NULL;
/* want pid of migrated task not pid in sample */ /* want pid of migrated task not pid in sample */
const u32 pid = perf_evsel__intval(evsel, sample, "pid"); const u32 pid = evsel__intval(evsel, sample, "pid");
thread = machine__findnew_thread(machine, 0, pid); thread = machine__findnew_thread(machine, 0, pid);
if (thread == NULL) if (thread == NULL)
@ -2524,8 +2524,7 @@ static int timehist_sched_change_event(struct perf_tool *tool,
struct thread_runtime *tr = NULL; struct thread_runtime *tr = NULL;
u64 tprev, t = sample->time; u64 tprev, t = sample->time;
int rc = 0; int rc = 0;
int state = perf_evsel__intval(evsel, sample, "prev_state"); int state = evsel__intval(evsel, sample, "prev_state");
if (machine__resolve(machine, &al, sample) < 0) { if (machine__resolve(machine, &al, sample) < 0) {
pr_err("problem processing %d event. skipping it\n", pr_err("problem processing %d event. skipping it\n",

View File

@ -579,8 +579,8 @@ process_sample_cpu_idle(struct timechart *tchart __maybe_unused,
struct perf_sample *sample, struct perf_sample *sample,
const char *backtrace __maybe_unused) const char *backtrace __maybe_unused)
{ {
u32 state = perf_evsel__intval(evsel, sample, "state"); u32 state = evsel__intval(evsel, sample, "state");
u32 cpu_id = perf_evsel__intval(evsel, sample, "cpu_id"); u32 cpu_id = evsel__intval(evsel, sample, "cpu_id");
if (state == (u32)PWR_EVENT_EXIT) if (state == (u32)PWR_EVENT_EXIT)
c_state_end(tchart, cpu_id, sample->time); c_state_end(tchart, cpu_id, sample->time);
@ -595,8 +595,8 @@ process_sample_cpu_frequency(struct timechart *tchart,
struct perf_sample *sample, struct perf_sample *sample,
const char *backtrace __maybe_unused) const char *backtrace __maybe_unused)
{ {
u32 state = perf_evsel__intval(evsel, sample, "state"); u32 state = evsel__intval(evsel, sample, "state");
u32 cpu_id = perf_evsel__intval(evsel, sample, "cpu_id"); u32 cpu_id = evsel__intval(evsel, sample, "cpu_id");
p_state_change(tchart, cpu_id, sample->time, state); p_state_change(tchart, cpu_id, sample->time, state);
return 0; return 0;
@ -608,9 +608,9 @@ process_sample_sched_wakeup(struct timechart *tchart,
struct perf_sample *sample, struct perf_sample *sample,
const char *backtrace) const char *backtrace)
{ {
u8 flags = perf_evsel__intval(evsel, sample, "common_flags"); u8 flags = evsel__intval(evsel, sample, "common_flags");
int waker = perf_evsel__intval(evsel, sample, "common_pid"); int waker = evsel__intval(evsel, sample, "common_pid");
int wakee = perf_evsel__intval(evsel, sample, "pid"); int wakee = evsel__intval(evsel, sample, "pid");
sched_wakeup(tchart, sample->cpu, sample->time, waker, wakee, flags, backtrace); sched_wakeup(tchart, sample->cpu, sample->time, waker, wakee, flags, backtrace);
return 0; return 0;
@ -622,9 +622,9 @@ process_sample_sched_switch(struct timechart *tchart,
struct perf_sample *sample, struct perf_sample *sample,
const char *backtrace) const char *backtrace)
{ {
int prev_pid = perf_evsel__intval(evsel, sample, "prev_pid"); int prev_pid = evsel__intval(evsel, sample, "prev_pid");
int next_pid = perf_evsel__intval(evsel, sample, "next_pid"); int next_pid = evsel__intval(evsel, sample, "next_pid");
u64 prev_state = perf_evsel__intval(evsel, sample, "prev_state"); u64 prev_state = evsel__intval(evsel, sample, "prev_state");
sched_switch(tchart, sample->cpu, sample->time, prev_pid, next_pid, sched_switch(tchart, sample->cpu, sample->time, prev_pid, next_pid,
prev_state, backtrace); prev_state, backtrace);
@ -638,8 +638,8 @@ process_sample_power_start(struct timechart *tchart __maybe_unused,
struct perf_sample *sample, struct perf_sample *sample,
const char *backtrace __maybe_unused) const char *backtrace __maybe_unused)
{ {
u64 cpu_id = perf_evsel__intval(evsel, sample, "cpu_id"); u64 cpu_id = evsel__intval(evsel, sample, "cpu_id");
u64 value = perf_evsel__intval(evsel, sample, "value"); u64 value = evsel__intval(evsel, sample, "value");
c_state_start(cpu_id, sample->time, value); c_state_start(cpu_id, sample->time, value);
return 0; return 0;
@ -661,8 +661,8 @@ process_sample_power_frequency(struct timechart *tchart,
struct perf_sample *sample, struct perf_sample *sample,
const char *backtrace __maybe_unused) const char *backtrace __maybe_unused)
{ {
u64 cpu_id = perf_evsel__intval(evsel, sample, "cpu_id"); u64 cpu_id = evsel__intval(evsel, sample, "cpu_id");
u64 value = perf_evsel__intval(evsel, sample, "value"); u64 value = evsel__intval(evsel, sample, "value");
p_state_change(tchart, cpu_id, sample->time, value); p_state_change(tchart, cpu_id, sample->time, value);
return 0; return 0;
@ -843,7 +843,7 @@ process_enter_read(struct timechart *tchart,
struct evsel *evsel, struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
long fd = perf_evsel__intval(evsel, sample, "fd"); long fd = evsel__intval(evsel, sample, "fd");
return pid_begin_io_sample(tchart, sample->tid, IOTYPE_READ, return pid_begin_io_sample(tchart, sample->tid, IOTYPE_READ,
sample->time, fd); sample->time, fd);
} }
@ -853,7 +853,7 @@ process_exit_read(struct timechart *tchart,
struct evsel *evsel, struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
long ret = perf_evsel__intval(evsel, sample, "ret"); long ret = evsel__intval(evsel, sample, "ret");
return pid_end_io_sample(tchart, sample->tid, IOTYPE_READ, return pid_end_io_sample(tchart, sample->tid, IOTYPE_READ,
sample->time, ret); sample->time, ret);
} }
@ -863,7 +863,7 @@ process_enter_write(struct timechart *tchart,
struct evsel *evsel, struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
long fd = perf_evsel__intval(evsel, sample, "fd"); long fd = evsel__intval(evsel, sample, "fd");
return pid_begin_io_sample(tchart, sample->tid, IOTYPE_WRITE, return pid_begin_io_sample(tchart, sample->tid, IOTYPE_WRITE,
sample->time, fd); sample->time, fd);
} }
@ -873,7 +873,7 @@ process_exit_write(struct timechart *tchart,
struct evsel *evsel, struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
long ret = perf_evsel__intval(evsel, sample, "ret"); long ret = evsel__intval(evsel, sample, "ret");
return pid_end_io_sample(tchart, sample->tid, IOTYPE_WRITE, return pid_end_io_sample(tchart, sample->tid, IOTYPE_WRITE,
sample->time, ret); sample->time, ret);
} }
@ -883,7 +883,7 @@ process_enter_sync(struct timechart *tchart,
struct evsel *evsel, struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
long fd = perf_evsel__intval(evsel, sample, "fd"); long fd = evsel__intval(evsel, sample, "fd");
return pid_begin_io_sample(tchart, sample->tid, IOTYPE_SYNC, return pid_begin_io_sample(tchart, sample->tid, IOTYPE_SYNC,
sample->time, fd); sample->time, fd);
} }
@ -893,7 +893,7 @@ process_exit_sync(struct timechart *tchart,
struct evsel *evsel, struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
long ret = perf_evsel__intval(evsel, sample, "ret"); long ret = evsel__intval(evsel, sample, "ret");
return pid_end_io_sample(tchart, sample->tid, IOTYPE_SYNC, return pid_end_io_sample(tchart, sample->tid, IOTYPE_SYNC,
sample->time, ret); sample->time, ret);
} }
@ -903,7 +903,7 @@ process_enter_tx(struct timechart *tchart,
struct evsel *evsel, struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
long fd = perf_evsel__intval(evsel, sample, "fd"); long fd = evsel__intval(evsel, sample, "fd");
return pid_begin_io_sample(tchart, sample->tid, IOTYPE_TX, return pid_begin_io_sample(tchart, sample->tid, IOTYPE_TX,
sample->time, fd); sample->time, fd);
} }
@ -913,7 +913,7 @@ process_exit_tx(struct timechart *tchart,
struct evsel *evsel, struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
long ret = perf_evsel__intval(evsel, sample, "ret"); long ret = evsel__intval(evsel, sample, "ret");
return pid_end_io_sample(tchart, sample->tid, IOTYPE_TX, return pid_end_io_sample(tchart, sample->tid, IOTYPE_TX,
sample->time, ret); sample->time, ret);
} }
@ -923,7 +923,7 @@ process_enter_rx(struct timechart *tchart,
struct evsel *evsel, struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
long fd = perf_evsel__intval(evsel, sample, "fd"); long fd = evsel__intval(evsel, sample, "fd");
return pid_begin_io_sample(tchart, sample->tid, IOTYPE_RX, return pid_begin_io_sample(tchart, sample->tid, IOTYPE_RX,
sample->time, fd); sample->time, fd);
} }
@ -933,7 +933,7 @@ process_exit_rx(struct timechart *tchart,
struct evsel *evsel, struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
long ret = perf_evsel__intval(evsel, sample, "ret"); long ret = evsel__intval(evsel, sample, "ret");
return pid_end_io_sample(tchart, sample->tid, IOTYPE_RX, return pid_end_io_sample(tchart, sample->tid, IOTYPE_RX,
sample->time, ret); sample->time, ret);
} }
@ -943,7 +943,7 @@ process_enter_poll(struct timechart *tchart,
struct evsel *evsel, struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
long fd = perf_evsel__intval(evsel, sample, "fd"); long fd = evsel__intval(evsel, sample, "fd");
return pid_begin_io_sample(tchart, sample->tid, IOTYPE_POLL, return pid_begin_io_sample(tchart, sample->tid, IOTYPE_POLL,
sample->time, fd); sample->time, fd);
} }
@ -953,7 +953,7 @@ process_exit_poll(struct timechart *tchart,
struct evsel *evsel, struct evsel *evsel,
struct perf_sample *sample) struct perf_sample *sample)
{ {
long ret = perf_evsel__intval(evsel, sample, "ret"); long ret = evsel__intval(evsel, sample, "ret");
return pid_end_io_sample(tchart, sample->tid, IOTYPE_POLL, return pid_end_io_sample(tchart, sample->tid, IOTYPE_POLL,
sample->time, ret); sample->time, ret);
} }

View File

@ -370,7 +370,7 @@ static int perf_evsel__init_tp_uint_field(struct evsel *evsel,
struct tp_field *field, struct tp_field *field,
const char *name) const char *name)
{ {
struct tep_format_field *format_field = perf_evsel__field(evsel, name); struct tep_format_field *format_field = evsel__field(evsel, name);
if (format_field == NULL) if (format_field == NULL)
return -1; return -1;
@ -386,7 +386,7 @@ static int perf_evsel__init_tp_ptr_field(struct evsel *evsel,
struct tp_field *field, struct tp_field *field,
const char *name) const char *name)
{ {
struct tep_format_field *format_field = perf_evsel__field(evsel, name); struct tep_format_field *format_field = evsel__field(evsel, name);
if (format_field == NULL) if (format_field == NULL)
return -1; return -1;
@ -423,9 +423,9 @@ static int perf_evsel__init_augmented_syscall_tp(struct evsel *evsel, struct evs
struct syscall_tp *sc = evsel__syscall_tp(evsel); struct syscall_tp *sc = evsel__syscall_tp(evsel);
if (sc != NULL) { if (sc != NULL) {
struct tep_format_field *syscall_id = perf_evsel__field(tp, "id"); struct tep_format_field *syscall_id = evsel__field(tp, "id");
if (syscall_id == NULL) if (syscall_id == NULL)
syscall_id = perf_evsel__field(tp, "__syscall_nr"); syscall_id = evsel__field(tp, "__syscall_nr");
if (syscall_id == NULL || if (syscall_id == NULL ||
__tp_field__init_uint(&sc->id, syscall_id->size, syscall_id->offset, evsel->needs_swap)) __tp_field__init_uint(&sc->id, syscall_id->size, syscall_id->offset, evsel->needs_swap))
return -EINVAL; return -EINVAL;
@ -2531,7 +2531,7 @@ static int trace__vfs_getname(struct trace *trace, struct evsel *evsel,
size_t filename_len, entry_str_len, to_move; size_t filename_len, entry_str_len, to_move;
ssize_t remaining_space; ssize_t remaining_space;
char *pos; char *pos;
const char *filename = perf_evsel__rawptr(evsel, sample, "pathname"); const char *filename = evsel__rawptr(evsel, sample, "pathname");
if (!thread) if (!thread)
goto out; goto out;
@ -2587,7 +2587,7 @@ static int trace__sched_stat_runtime(struct trace *trace, struct evsel *evsel,
union perf_event *event __maybe_unused, union perf_event *event __maybe_unused,
struct perf_sample *sample) struct perf_sample *sample)
{ {
u64 runtime = perf_evsel__intval(evsel, sample, "runtime"); u64 runtime = evsel__intval(evsel, sample, "runtime");
double runtime_ms = (double)runtime / NSEC_PER_MSEC; double runtime_ms = (double)runtime / NSEC_PER_MSEC;
struct thread *thread = machine__findnew_thread(trace->host, struct thread *thread = machine__findnew_thread(trace->host,
sample->pid, sample->pid,
@ -2606,10 +2606,10 @@ static int trace__sched_stat_runtime(struct trace *trace, struct evsel *evsel,
out_dump: out_dump:
fprintf(trace->output, "%s: comm=%s,pid=%u,runtime=%" PRIu64 ",vruntime=%" PRIu64 ")\n", fprintf(trace->output, "%s: comm=%s,pid=%u,runtime=%" PRIu64 ",vruntime=%" PRIu64 ")\n",
evsel->name, evsel->name,
perf_evsel__strval(evsel, sample, "comm"), evsel__strval(evsel, sample, "comm"),
(pid_t)perf_evsel__intval(evsel, sample, "pid"), (pid_t)evsel__intval(evsel, sample, "pid"),
runtime, runtime,
perf_evsel__intval(evsel, sample, "vruntime")); evsel__intval(evsel, sample, "vruntime"));
goto out_put; goto out_put;
} }
@ -3035,7 +3035,7 @@ static bool evlist__add_vfs_getname(struct evlist *evlist)
if (!strstarts(evsel__name(evsel), "probe:vfs_getname")) if (!strstarts(evsel__name(evsel), "probe:vfs_getname"))
continue; continue;
if (perf_evsel__field(evsel, "pathname")) { if (evsel__field(evsel, "pathname")) {
evsel->handler = trace__vfs_getname; evsel->handler = trace__vfs_getname;
found = true; found = true;
continue; continue;

View File

@ -8,7 +8,7 @@
static int perf_evsel__test_field(struct evsel *evsel, const char *name, static int perf_evsel__test_field(struct evsel *evsel, const char *name,
int size, bool should_be_signed) int size, bool should_be_signed)
{ {
struct tep_format_field *field = perf_evsel__field(evsel, name); struct tep_format_field *field = evsel__field(evsel, name);
int is_signed; int is_signed;
int ret = 0; int ret = 0;

View File

@ -114,7 +114,7 @@ int test__syscall_openat_tp_fields(struct test *test __maybe_unused, int subtest
goto out_delete_evlist; goto out_delete_evlist;
} }
tp_flags = perf_evsel__intval(evsel, &sample, "flags"); tp_flags = evsel__intval(evsel, &sample, "flags");
if (flags != tp_flags) { if (flags != tp_flags) {
pr_debug("%s: Expected flags=%#x, got %#x\n", pr_debug("%s: Expected flags=%#x, got %#x\n",

View File

@ -135,8 +135,8 @@ static int process_sample_event(struct evlist *evlist,
evsel = perf_evlist__id2evsel(evlist, sample.id); evsel = perf_evlist__id2evsel(evlist, sample.id);
if (evsel == switch_tracking->switch_evsel) { if (evsel == switch_tracking->switch_evsel) {
next_tid = perf_evsel__intval(evsel, &sample, "next_pid"); next_tid = evsel__intval(evsel, &sample, "next_pid");
prev_tid = perf_evsel__intval(evsel, &sample, "prev_pid"); prev_tid = evsel__intval(evsel, &sample, "prev_pid");
cpu = sample.cpu; cpu = sample.cpu;
pr_debug3("sched_switch: cpu: %d prev_tid %d next_tid %d\n", pr_debug3("sched_switch: cpu: %d prev_tid %d next_tid %d\n",
cpu, prev_tid, next_tid); cpu, prev_tid, next_tid);

View File

@ -2314,15 +2314,14 @@ int perf_evsel__parse_sample_timestamp(struct evsel *evsel,
return 0; return 0;
} }
struct tep_format_field *perf_evsel__field(struct evsel *evsel, const char *name) struct tep_format_field *evsel__field(struct evsel *evsel, const char *name)
{ {
return tep_find_field(evsel->tp_format, name); return tep_find_field(evsel->tp_format, name);
} }
void *perf_evsel__rawptr(struct evsel *evsel, struct perf_sample *sample, void *evsel__rawptr(struct evsel *evsel, struct perf_sample *sample, const char *name)
const char *name)
{ {
struct tep_format_field *field = perf_evsel__field(evsel, name); struct tep_format_field *field = evsel__field(evsel, name);
int offset; int offset;
if (!field) if (!field)
@ -2377,10 +2376,9 @@ u64 format_field__intval(struct tep_format_field *field, struct perf_sample *sam
return 0; return 0;
} }
u64 perf_evsel__intval(struct evsel *evsel, struct perf_sample *sample, u64 evsel__intval(struct evsel *evsel, struct perf_sample *sample, const char *name)
const char *name)
{ {
struct tep_format_field *field = perf_evsel__field(evsel, name); struct tep_format_field *field = evsel__field(evsel, name);
if (!field) if (!field)
return 0; return 0;

View File

@ -241,23 +241,19 @@ void evsel__close(struct evsel *evsel);
struct perf_sample; struct perf_sample;
void *perf_evsel__rawptr(struct evsel *evsel, struct perf_sample *sample, void *evsel__rawptr(struct evsel *evsel, struct perf_sample *sample, const char *name);
const char *name); u64 evsel__intval(struct evsel *evsel, struct perf_sample *sample, const char *name);
u64 perf_evsel__intval(struct evsel *evsel, struct perf_sample *sample,
const char *name);
static inline char *perf_evsel__strval(struct evsel *evsel, static inline char *evsel__strval(struct evsel *evsel, struct perf_sample *sample, const char *name)
struct perf_sample *sample,
const char *name)
{ {
return perf_evsel__rawptr(evsel, sample, name); return evsel__rawptr(evsel, sample, name);
} }
struct tep_format_field; struct tep_format_field;
u64 format_field__intval(struct tep_format_field *field, struct perf_sample *sample, bool needs_swap); u64 format_field__intval(struct tep_format_field *field, struct perf_sample *sample, bool needs_swap);
struct tep_format_field *perf_evsel__field(struct evsel *evsel, const char *name); struct tep_format_field *evsel__field(struct evsel *evsel, const char *name);
#define perf_evsel__match(evsel, t, c) \ #define perf_evsel__match(evsel, t, c) \
(evsel->core.attr.type == PERF_TYPE_##t && \ (evsel->core.attr.type == PERF_TYPE_##t && \

View File

@ -2488,7 +2488,7 @@ static int intel_pt_process_switch(struct intel_pt *pt,
if (evsel != pt->switch_evsel) if (evsel != pt->switch_evsel)
return 0; return 0;
tid = perf_evsel__intval(evsel, sample, "next_pid"); tid = evsel__intval(evsel, sample, "next_pid");
cpu = sample->cpu; cpu = sample->cpu;
intel_pt_log("sched_switch: cpu %d tid %d time %"PRIu64" tsc %#"PRIx64"\n", intel_pt_log("sched_switch: cpu %d tid %d time %"PRIu64" tsc %#"PRIx64"\n",