From: Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: "Ingo Molnar" <mingo@kernel.org>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Jiri Olsa" <jolsa@kernel.org>,
"Namhyung Kim" <namhyung@kernel.org>,
"Clark Williams" <williams@redhat.com>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
"Arnaldo Carvalho de Melo" <acme@redhat.com>,
"Adrian Hunter" <adrian.hunter@intel.com>,
"Brendan Gregg" <brendan.d.gregg@gmail.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Luis Cláudio Gonçalves" <lclaudio@redhat.com>
Subject: Re: [PATCH 06/24] tools headers uapi: Sync linux/usbdevice_fs.h with the kernel sources
Date: Tue, 1 Oct 2019 16:23:19 -0300 [thread overview]
Message-ID: <20191001192319.GE13904@kernel.org> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1910010957340.1991-100000@iolanthe.rowland.org>
Em Tue, Oct 01, 2019 at 09:59:55AM -0400, Alan Stern escreveu:
> On Tue, 1 Oct 2019, Arnaldo Carvalho de Melo wrote:
>
> > From: Arnaldo Carvalho de Melo <acme@redhat.com>
> >
> > To pick up the changes from:
> >
> > 4ed3350539aa ("USB: usbfs: Add a capability flag for runtime suspend")
> > 7794f486ed0b ("usbfs: Add ioctls for runtime power management")
> >
> > This triggers these changes in the kernel sources, automagically
> > supporting these new ioctls in the 'perf trace' beautifiers.
> >
> > Soon this will be used in things like filter expressions for tracepoints
> > in 'perf record', 'perf trace', 'perf top', i.e. filter expressions will
> > do a lookup to turn things like USBDEVFS_WAIT_FOR_RESUME into _IO('U',
> > 35) before associating the tracepoint expression to tracepoint perf
> > event.
> >
> > $ tools/perf/trace/beauty/usbdevfs_ioctl.sh > before
> > $ cp include/uapi/linux/usbdevice_fs.h tools/include/uapi/linux/usbdevice_fs.h
> > $ git diff
> > diff --git a/tools/include/uapi/linux/usbdevice_fs.h b/tools/include/uapi/linux/usbdevice_fs.h
> > index 78efe870c2b7..cf525cddeb94 100644
> > --- a/tools/include/uapi/linux/usbdevice_fs.h
> > +++ b/tools/include/uapi/linux/usbdevice_fs.h
> > @@ -158,6 +158,7 @@ struct usbdevfs_hub_portinfo {
> > #define USBDEVFS_CAP_MMAP 0x20
> > #define USBDEVFS_CAP_DROP_PRIVILEGES 0x40
> > #define USBDEVFS_CAP_CONNINFO_EX 0x80
> > +#define USBDEVFS_CAP_SUSPEND 0x100
> >
> > /* USBDEVFS_DISCONNECT_CLAIM flags & struct */
> >
> > @@ -223,5 +224,8 @@ struct usbdevfs_streams {
> > * extending size of the data returned.
> > */
> > #define USBDEVFS_CONNINFO_EX(len) _IOC(_IOC_READ, 'U', 32, len)
> > +#define USBDEVFS_FORBID_SUSPEND _IO('U', 33)
> > +#define USBDEVFS_ALLOW_SUSPEND _IO('U', 34)
> > +#define USBDEVFS_WAIT_FOR_RESUME _IO('U', 35)
> >
> > #endif /* _UAPI_LINUX_USBDEVICE_FS_H */
> > $ tools/perf/trace/beauty/usbdevfs_ioctl.sh > after
> > $ diff -u before after
> > --- before 2019-09-27 11:41:50.634867620 -0300
> > +++ after 2019-09-27 11:42:07.453102978 -0300
> > @@ -24,6 +24,9 @@
> > [30] = "DROP_PRIVILEGES",
> > [31] = "GET_SPEED",
> > [32] = "CONNINFO_EX",
> > + [33] = "FORBID_SUSPEND",
> > + [34] = "ALLOW_SUSPEND",
> > + [35] = "WAIT_FOR_RESUME",
> > [3] = "RESETEP",
> > [4] = "SETINTERFACE",
> > [5] = "SETCONFIGURATION",
> > $
> >
> > This addresses the following perf build warning:
> >
> > Warning: Kernel ABI header at 'tools/include/uapi/linux/usbdevice_fs.h' differs from latest version at 'include/uapi/linux/usbdevice_fs.h'
> > diff -u tools/include/uapi/linux/usbdevice_fs.h include/uapi/linux/usbdevice_fs.h
>
> This may sound silly, and undoubtedly the question has been asked
> before. Nevertheless...
>
> Why go to the time and trouble to detect differences between
> tools/include/uapi/linux/usbdevice_fs.h and
> include/uapi/linux/usbdevice_fs.h? Why not just make the first a
> symbolic link to the second? Or get rid of the first entirely, and
> change the source code so that it #include's the second?
We can't use anything from outside tools/perf/ to build it, sometimes
things get changed by kernel developers and tooling breaks.
Another reason is that we want to be able to do:
[acme@quaco perf]$ make help | grep perf
perf-tar-src-pkg - Build perf-5.3.0.tar source tarball
perf-targz-src-pkg - Build perf-5.3.0.tar.gz source tarball
perf-tarbz2-src-pkg - Build perf-5.3.0.tar.bz2 source tarball
perf-tarxz-src-pkg - Build perf-5.3.0.tar.xz source tarball
[acme@quaco perf]$
Take that tarball, transfer it to an older system and still have it
building and working.
We also use the build warnings as hints that something needs to be
changed in tooling to pick up new kernel features, such as new ioctls,
syscall arguments to handle in 'perf trace', etc.
- Arnaldo
next prev parent reply other threads:[~2019-10-01 19:23 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-01 11:11 [GIT PULL] perf/urgent improvements and fixes Arnaldo Carvalho de Melo
2019-10-01 11:11 ` [PATCH 01/24] libsubcmd: Make _FORTIFY_SOURCE defines dependent on the feature Arnaldo Carvalho de Melo
2019-10-01 11:11 ` [PATCH 02/24] perf tests: Avoid raising SEGV using an obvious NULL dereference Arnaldo Carvalho de Melo
2019-10-01 11:11 ` [PATCH 03/24] perf docs: Allow man page date to be specified Arnaldo Carvalho de Melo
2019-10-01 11:11 ` [PATCH 04/24] tools headers uapi: Sync drm/i915_drm.h with the kernel sources Arnaldo Carvalho de Melo
2019-10-01 11:11 ` [PATCH 05/24] tools headers uapi: Sync asm-generic/mman-common.h with the kernel Arnaldo Carvalho de Melo
2019-10-01 11:11 ` [PATCH 06/24] tools headers uapi: Sync linux/usbdevice_fs.h with the kernel sources Arnaldo Carvalho de Melo
2019-10-01 13:59 ` Alan Stern
2019-10-01 19:23 ` Arnaldo Carvalho de Melo [this message]
2019-10-01 11:11 ` [PATCH 07/24] tools headers uapi: Sync linux/fs.h " Arnaldo Carvalho de Melo
2019-10-01 18:45 ` Eric Biggers
2019-10-01 18:57 ` Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 08/24] tools headers kvm: Sync kvm headers " Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 09/24] perf llvm: Don't access out-of-scope array Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 10/24] perf vendor events s390: Add JSON transaction for machine type 8561 Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 11/24] perf vendor events s390: Use s390 machine name instead of " Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 12/24] perf map: Fix overlapped map handling Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 13/24] perf inject jit: Fix JIT_CODE_MOVE filename Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 14/24] perf docs: Correct and clarify jitdump spec Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 15/24] perf script brstackinsn: Fix recovery from LBR/binary mismatch Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 16/24] perf jevents: Fix period for Intel fixed counters Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 17/24] perf tools: Propagate get_cpuid() error Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 18/24] perf evsel: Fall back to global 'perf_env' in perf_evsel__env() Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 19/24] perf annotate: Propagate perf_env__arch() error Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 20/24] perf annotate: Fix the signedness of failure returns Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 21/24] perf annotate: Propagate the symbol__annotate() error return Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 22/24] perf annotate: Fix arch specific ->init() failure errors Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 23/24] perf annotate: Return appropriate error code for allocation failures Arnaldo Carvalho de Melo
2019-10-01 11:12 ` [PATCH 24/24] perf annotate: Don't return -1 for error when doing BPF disassembly Arnaldo Carvalho de Melo
2019-10-07 13:16 ` [GIT PULL] perf/urgent improvements and fixes Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191001192319.GE13904@kernel.org \
--to=arnaldo.melo@gmail.com \
--cc=acme@redhat.com \
--cc=adrian.hunter@intel.com \
--cc=brendan.d.gregg@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=jolsa@kernel.org \
--cc=lclaudio@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=stern@rowland.harvard.edu \
--cc=tglx@linutronix.de \
--cc=williams@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).