Re: perf report warnings on tracepoint events hidden by ui
From: David Carrillo-Cisneros
Date: Sun Apr 30 2017 - 13:33:21 EST
>
> But I don't see any warning when I run it with --stdio. Could you
> show me the format file of sys_enter_mmap?
I found the problem. The kernel version I was testing on fails to
initialize some fields in the tracepoint structure, so my format
looked like:
# cat /sys/kernel/debug/tracing/events/syscalls/sys_enter_mmap/format
name: sys_enter_mmap
ID: 144
format:
field:unsigned short common_type; offset:0;
size:2; signed:0;
field:unsigned char common_flags; offset:2;
size:1; signed:0;
field:unsigned char common_preempt_count; offset:3;
size:1; signed:0;
field:int common_pid; offset:4; size:4; signed:1;
print fmt: "addr: 0x%08lx, len: 0x%08lx, prot: 0x%08lx, flags:
0x%08lx, fd: 0x%08lx, off: 0x%08lx", ((unsigned long)(REC->addr)),
((unsigned long)(REC->len)), ((unsigned long)(REC->prot)), ((unsigned
long)(REC->flags)), ((unsigned long)(REC->fd)), ((unsigned
long)(REC->off))
rather than:
name: sys_enter_mmap
ID: 111
format:
field:unsigned short common_type; offset:0;
size:2; signed:0;
field:unsigned char common_flags; offset:2;
size:1; signed:0;
field:unsigned char common_preempt_count; offset:3;
size:1; signed:0;
field:int common_pid; offset:4; size:4; signed:1;
field:int nr; offset:8; size:4; signed:1;
field:unsigned long addr; offset:16; size:8; signed:0;
field:unsigned long len; offset:24; size:8; signed:0;
field:unsigned long prot; offset:32; size:8; signed:0;
field:unsigned long flags; offset:40; size:8; signed:0;
field:unsigned long fd; offset:48; size:8; signed:0;
field:unsigned long off; offset:56; size:8; signed:0;
print fmt: "addr: 0x%08lx, len: 0x%08lx, prot: 0x%08lx, flags:
0x%08lx, fd: 0x%08lx, off: 0x%08lx", ((unsigned long)(REC->addr)),
((unsigned long)(REC->len)), ((unsigned long)(REC->prot)), ((unsigned
long)(REC->flags)), ((unsigned long)(REC->fd)), ((unsigned
long)(REC->off))
Upstream is all good. It was my oversight not testing there first.
Thanks,
David