Re: [PATCH] tracing/x86: Update syscall trace events to handle new x86 syscall func names

From: Arnaldo Carvalho de Melo
Date: Tue Apr 17 2018 - 13:06:43 EST


Em Tue, Apr 17, 2018 at 12:57:23PM -0400, Steven Rostedt escreveu:
> On Tue, 17 Apr 2018 12:40:19 -0400
> Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> > On Tue, 17 Apr 2018 13:35:27 -0300
> > Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
> >
> >
> > > [root@jouet ~]# perf test openat
> > > 2: Detect openat syscall event : Ok
> > > 3: Detect openat syscall event on all cpus : Ok
> > > 15: syscalls:sys_enter_openat event fields : Ok
> > > [root@jouet ~]#
> > >
> > > [root@jouet ~]# perf trace -e nanosleep,syscalls:*nanosleep sleep 1
> > > 0.000 ( ): syscalls:sys_enter_nanosleep:rqtp: 0x7ffd9f737950, rmtp: 0x00000000
> > > 0.009 ( ): sleep/7905 nanosleep(rqtp: 0x7ffd9f737950 ) ...
> > > 1000.204 ( ): syscalls:sys_exit_nanosleep:0x0
> > > 0.009 (1000.217 ms): sleep/7905 ... [continued]: nanosleep()) = 0
> > > [root@jouet ~]#
> > >
> > > Works, so the regression seems to be fixed, without looking at the code
> > > that much:
> > >
> > > Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> >
> > But does this still work on x86_32? I'll test that out. Thanks for
> > testing, but I may have another patch soon.
>
> OK, it's still broken there with this patch. I got this:
>
> # ls /sys/kernel/tracing/events/syscalls
> enable
> filter
> sys_enter_nanosleep
> sys_exit_nanosleep
>
> But with this:
>
> return !strcmp(sym + 9, name + 3) || !strcmp(sym + 3, name + 3);
>
> I get all the syscalls back. I'll make another patch.

[root@jouet ~]# ls -lad /e/syscalls/sys_enter_* | wc -l
299
[root@jouet ~]# ls -lad /e/syscalls/sys_* | wc -l
598
[root@jouet ~]# uname -a
Linux jouet 4.17.0-rc1-00025-g69dd313cd795 #11 SMP Tue Apr 17 13:18:44 -03 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@jouet ~]#

With your first patch, I'll change to the above...

- Arnaldo