perf tools: Merge all perf_event_attr print functions
Currently there's 3 (that I found) different and incomplete implementations of printing perf_event_attr. This is quite silly. Merge the lot. While this patch does not retain the exact form all printing that I found is debug output and thus it should not be critical. Also, I cannot find a single print_event_desc() caller. Pre: $ perf record -vv -e cycles -- sleep 1 ------------------------------------------------------------ perf_event_attr: type 0 size 104 config 0 sample_period 4000 sample_freq 4000 sample_type 0x107 read_format 0 disabled 1 inherit 1 pinned 0 exclusive 0 exclude_user 0 exclude_kernel 0 exclude_hv 0 exclude_idle 0 mmap 1 comm 1 mmap2 1 comm_exec 1 freq 1 inherit_stat 0 enable_on_exec 1 task 1 watermark 0 precise_ip 0 mmap_data 0 sample_id_all 1 exclude_host 0 exclude_guest 1 excl.callchain_kern 0 excl.callchain_user 0 wakeup_events 0 wakeup_watermark 0 bp_type 0 bp_addr 0 config1 0 bp_len 0 config2 0 branch_sample_type 0 sample_regs_user 0 sample_stack_user 0 sample_regs_intr 0 ------------------------------------------------------------ $ perf evlist -vv cycles: sample_freq=4000, size: 104, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, mmap2: 1, comm: 1, comm_exec: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1 Post: $ ./perf record -vv -e cycles -- sleep 1 ------------------------------------------------------------ perf_event_attr: size 112 { sample_period, sample_freq } 4000 sample_type IP|TID|TIME|PERIOD disabled 1 inherit 1 mmap 1 comm 1 freq 1 enable_on_exec 1 task 1 sample_id_all 1 exclude_guest 1 mmap2 1 comm_exec 1 ------------------------------------------------------------ $ ./perf evlist -vv cycles: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Acked-by: Ingo Molnar <mingo@kernel.org> Acked-by: Jiri Olsa <jolsa@kernel.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: David Ahern <dsahern@gmail.com> Cc: John Stultz <john.stultz@linaro.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20150407091150.644238729@infradead.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:

committed by
Arnaldo Carvalho de Melo

parent
814c8c38e1
commit
2c5e8c52c6
@@ -1055,6 +1055,12 @@ error:
|
||||
goto out;
|
||||
}
|
||||
|
||||
static int __desc_attr__fprintf(FILE *fp, const char *name, const char *val,
|
||||
void *priv __attribute__((unused)))
|
||||
{
|
||||
return fprintf(fp, ", %s = %s", name, val);
|
||||
}
|
||||
|
||||
static void print_event_desc(struct perf_header *ph, int fd, FILE *fp)
|
||||
{
|
||||
struct perf_evsel *evsel, *events = read_event_desc(ph, fd);
|
||||
@@ -1069,26 +1075,6 @@ static void print_event_desc(struct perf_header *ph, int fd, FILE *fp)
|
||||
for (evsel = events; evsel->attr.size; evsel++) {
|
||||
fprintf(fp, "# event : name = %s, ", evsel->name);
|
||||
|
||||
fprintf(fp, "type = %d, config = 0x%"PRIx64
|
||||
", config1 = 0x%"PRIx64", config2 = 0x%"PRIx64,
|
||||
evsel->attr.type,
|
||||
(u64)evsel->attr.config,
|
||||
(u64)evsel->attr.config1,
|
||||
(u64)evsel->attr.config2);
|
||||
|
||||
fprintf(fp, ", excl_usr = %d, excl_kern = %d",
|
||||
evsel->attr.exclude_user,
|
||||
evsel->attr.exclude_kernel);
|
||||
|
||||
fprintf(fp, ", excl_host = %d, excl_guest = %d",
|
||||
evsel->attr.exclude_host,
|
||||
evsel->attr.exclude_guest);
|
||||
|
||||
fprintf(fp, ", precise_ip = %d", evsel->attr.precise_ip);
|
||||
|
||||
fprintf(fp, ", attr_mmap2 = %d", evsel->attr.mmap2);
|
||||
fprintf(fp, ", attr_mmap = %d", evsel->attr.mmap);
|
||||
fprintf(fp, ", attr_mmap_data = %d", evsel->attr.mmap_data);
|
||||
if (evsel->ids) {
|
||||
fprintf(fp, ", id = {");
|
||||
for (j = 0, id = evsel->id; j < evsel->ids; j++, id++) {
|
||||
@@ -1098,9 +1084,8 @@ static void print_event_desc(struct perf_header *ph, int fd, FILE *fp)
|
||||
}
|
||||
fprintf(fp, " }");
|
||||
}
|
||||
if (evsel->attr.use_clockid)
|
||||
fprintf(fp, ", clockid = %d", evsel->attr.clockid);
|
||||
|
||||
perf_event_attr__fprintf(fp, &evsel->attr, __desc_attr__fprintf, NULL);
|
||||
|
||||
fputc('\n', fp);
|
||||
}
|
||||
|
Reference in New Issue
Block a user