Re: [PATCH 17/19] perf tools: Build syscall table .c header from kernel's syscall_64.tbl

From: Arnaldo Carvalho de Melo
Date: Thu Apr 07 2016 - 17:52:26 EST


Em Thu, Apr 07, 2016 at 03:49:56PM -0600, David Ahern escreveu:
> Upon further review ...
>
> On 4/7/16 2:58 PM, Arnaldo Carvalho de Melo wrote:
> >From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> >
> >We used libaudit to map ids to syscall names and vice-versa, but that
> >imposes a delay in supporting new syscalls, having to wait for libaudit
> >to get those new syscalls on its tables.
> >
> >To remove that delay, for x86_64 initially, grab a copy of
> >arch/x86/entry/syscalls/syscall_64.tbl and use it to generate those
> >tables.
>
>
> > tools/perf/Makefile.perf | 11 +-
> > tools/perf/arch/x86/Makefile | 23 ++
> > tools/perf/arch/x86/entry/syscalls/syscall_64.tbl | 374 ++++++++++++++++++++++
> > tools/perf/arch/x86/entry/syscalls/syscalltbl.sh | 39 +++
>
> Why make a copies of the files? Why can't perf reference the ones 2
> levels up?

We did that in the past, but then, after the build broke in tools/ due
to changes in the referenced files, we decided to use this "coherency
protocol" where we benefit from using the kernel files but don't use it
directly, being warned when changes happen so that we can do some
analysis before updating our copy.

- Arnaldo