On Thu, 25 Feb 2016 12:05:01 -0500
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
On Fri, 26 Feb 2016 01:53:47 +0900
Taeung Song <treeze.taeung@xxxxxxxxx> wrote:
The underlying cause of this problem is not because of
the python script. This problem have relevance to tracing/syscalls
as below.
# cat
/sys/kernel/debug/tracing/events/syscalls/sys_enter_io_getevents/format
name: sys_enter_io_getevents
ID: 739
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:aio_context_t ctx_id; offset:16;size:8;signed:0;
field:long min_nr; offset:24;size:8;signed:0;
field:long nr; offset:32;size:8;signed:0;
field:struct io_event * events; offset:40;size:8;signed:0;
field:struct timespec * timeout; offset:48;size:8;signed:0;
print fmt: "ctx_id: 0x%08lx, min_nr: 0x%08lx, nr: 0x%08lx, events:
0x%08lx, timeout: 0x%08lx", ((unsigned long)(REC->ctx_id)), ((unsigned
long)(REC->min_nr)), ((unsigned long)(REC->nr)), ((unsigned
long)(REC->events)), ((unsigned long)(REC->timeout))
As you see, there are duplicated variable name among fields.
So I renamed the variable name 'nr' to 'syscall_nr' to avoid this
duplication. As you know 'nr' in print_syscall_enter() mean
system call number so, I changed 'nr' to 'syscall_nr'(IMHO).
The above should have been in the change log. That makes much more
sense.
I'm a bit nervous about this change though. Because it is an ABI
change. Hopefully there's no tools that parse the syscall tracepoints
and expect to find a 'nr' in there.