All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Moessbauer, Felix" <felix.moessbauer@siemens.com>
To: Ian Rogers <irogers@google.com>
Cc: "debian-kernel@lists.debian.org" <debian-kernel@lists.debian.org>,
	"waldi@debian.org" <waldi@debian.org>,
	linux-perf-users <linux-perf-users@vger.kernel.org>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	"ben@decadent.org.uk" <ben@decadent.org.uk>,
	Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	"jan.kiszka@siemens.com" <jan.kiszka@siemens.com>,
	"henning.schild@siemens.com" <henning.schild@siemens.com>,
	"Schmidt, Adriaan" <adriaan.schmidt@siemens.com>
Subject: RE: Getting the latest and greatest Linux perf features on every Debian kernel
Date: Tue, 23 Nov 2021 07:46:31 +0000	[thread overview]
Message-ID: <AM9PR10MB486907ABFB7F82351A7D101589609@AM9PR10MB4869.EURPRD10.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <CAP-5=fW-L8YS7gsNAjRkzUtBOCw2md+YWuOCbjVZHd7r=PLH_g@mail.gmail.com>

> -----Original Message-----
> From: Ian Rogers <irogers@google.com>
> Sent: Monday, November 22, 2021 5:57 PM
> To: Moessbauer, Felix (T RDA IOT SES-DE) <felix.moessbauer@siemens.com>
> Cc: debian-kernel@lists.debian.org; waldi@debian.org; linux-perf-users <linux-
> perf-users@vger.kernel.org>; Arnaldo Carvalho de Melo <acme@kernel.org>;
> ben@decadent.org.uk; Jiri Olsa <jolsa@kernel.org>; Namhyung Kim
> <namhyung@kernel.org>; Kiszka, Jan (T RDA IOT) <jan.kiszka@siemens.com>;
> Schild, Henning (T RDA IOT SES-DE) <henning.schild@siemens.com>; Schmidt,
> Adriaan (T RDA IOT SES-DE) <adriaan.schmidt@siemens.com>
> Subject: Re: Getting the latest and greatest Linux perf features on every Debian
> kernel
> 
> On Mon, Nov 22, 2021 at 4:54 AM Moessbauer, Felix
> <felix.moessbauer@siemens.com> wrote:
> >
> > Hi,
> >
> > > -----Original Message-----
> > > From: Ian Rogers <irogers@google.com>
> > > Sent: Monday, November 22, 2021 3:18 AM
> > > To: debian-kernel@lists.debian.org; waldi@debian.org
> > > Cc: linux-perf-users <linux-perf-users@vger.kernel.org>; Arnaldo
> > > Carvalho de Melo <acme@kernel.org>; ben@decadent.org.uk; Jiri Olsa
> > > <jolsa@kernel.org>; Namhyung Kim <namhyung@kernel.org>
> > > Subject: Re: Getting the latest and greatest Linux perf features on
> > > every Debian kernel
> > >
> > > Hi,
> > >
> > > I'd love to package Linux perf as per Arnaldo's prepared tarball for
> > > Debian. If I could get help on the Debian side it would be great!
> > > The actions that are needed
> > > are:
> > >
> > > 1) package Arnaldo's tarball for Debian, presumably the build in the
> > > sources for
> > > linux-perf-5.10 will be a good starting point. The package will be
> > > linux-perf and replace the current metapackage of the same name.
> >
> > The current packaging in Debian does not include the perf python bindings.
> > Today these bindings are used by more and more tools (e.g. tuned).
> > For that, we packaged both a versioned module (linux-perf-<...>) and a python
> wrapper to load it using 'import perf' (linux-base).
> > These patches are currently under review at Debian salsa [1].
> >
> > All this would be way simpler if perf bindings do not have to be versioned
> anymore.
> > But please also consider that still a lot of people are using 4.19er kernels (don't
> know since when versioning is no longer required).
> 
> Thanks Felix! Is there a specific bug I can look at which describes what is broken
> with later versions of perf an 4.19? Perhaps we can add a workaround for this
> age of kernel in the command. It is certainly nobody's intent to have some users
> without a workable tool. Fwiw, I do a lot of testing with an older 4.15 based
> kernel and I'm not aware of issues.

Actually I don't know of any bugs, but just wanted to point out that this kernel should still be supported.
If that works with a modern perf out of the box, that would be even better.

> > >
> > >
> > > 2) create an updated linux-base that removes /usr/bin/perf
> > >
> > > 3) upload the updated linux-base and linux-perf packages for
> > > maintainer approval to
> > >
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmentors.
> > >
> debian.net%2F&amp;data=04%7C01%7Cfelix.moessbauer%40siemens.com%7C
> > >
> 4dbf17b41e4542b4c2de08d9ad5e58c3%7C38ae3bcd95794fd4addab42e1495d5
> > >
> 5a%7C1%7C0%7C637731443001828013%7CUnknown%7CTWFpbGZsb3d8eyJWI
> > >
> joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C300
> > >
> 0&amp;sdata=80jfnANxTuGYzw0vErMUQOlpdUWFrDNP5n9ktaVTBaQ%3D&amp
> > > ;reserved=0
> > >
> > > 4) some how get the previous Debian linux-perf-[45].* packages
> > > removed
> >
> > This can easily be achieved using the Conflicts field with a linux-base version
> that is older than your patched one.
> 
> Can I use Conflicts to say that the linux-perf package, that will provide
> /usr/bin/perf, will conflict with earlier linux-base releases?
> I'm concerned that if linux-base conflicts with linux-perf and linux-perf conflicts
> with linux-base, it is quite easy to make something that becomes wedged :-)

For details, have a look here: https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces
You could start with the packaging (as part of the Debian Linux source package) and create a MR at Salsa [1].
Then I can have a look over it and implement the transition / replacement.

[1] https://salsa.debian.org/kernel-team/linux

Felix
 
> 
> > >
> > > After this, when Arnaldo sends out a new tarball we can update the
> > > linux-perf package. libbpf and libtraceevent are currently part of
> > > linux/tools, but it would be better to depend on the distribution
> > > versions, which can be a future update to the packaging.
> > >
> > > I'd love some feedback on this plan, whether linux-base/linux-perf
> > > have a special process, etc. Documentation wise I've seen there is a lot, but:
> > >
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmentors.
> > > debian.net%2Fintro-
> > >
> maintainers%2F&amp;data=04%7C01%7Cfelix.moessbauer%40siemens.com%7
> > >
> C4dbf17b41e4542b4c2de08d9ad5e58c3%7C38ae3bcd95794fd4addab42e1495d
> > >
> 55a%7C1%7C0%7C637731443001828013%7CUnknown%7CTWFpbGZsb3d8eyJ
> > >
> WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C
> > >
> 3000&amp;sdata=Y0L%2Bn%2B0yJqGVnp%2FhCfBVD9V3bZ%2Bffb48vy85jg92M
> > > oU%3D&amp;reserved=0
> > > looks fairly to the point.
> >
> > I really like the plan and I'm also willing to support here.
> > But please also note that I'm not a Debian sponsor or maintainer of the
> mentioned packages.
> 
> Thanks!
> Ian
> 
> > Felix
> >
> > >
> > > Thanks,
> > > Ian
> > >
> > >
> > >
> > > On Fri, Nov 12, 2021 at 6:39 AM Arnaldo Carvalho de Melo
> > > <acme@kernel.org>
> > > wrote:
> > > >
> > > > Em Thu, Nov 11, 2021 at 10:34:33PM -0800, Ian Rogers escreveu:
> > > > > Hi,
> > > >
> > > > > Debian currently tries to match the Linux perf tool to the
> > > > > version of the kernel that it is being run upon. Reaching out to
> > > > > Ben Hutchings, he explained to me that this was done back in
> > > > > 2010 due to kernel and Linux perf incompatibilities. This was
> > > > > likely the case, but it was a bug in the Linux perf tool that should have
> been fixed.
> > > > > It is the goal of the tool to be backward compatible. A problem
> > > > > with matching the tool to the kernel version is that users miss
> > > > > out on new features and fixes (this topic came up in a recent
> > > > > interview of the maintainer Arnaldo Carvalho de Melo [1]).
> > > >
> > > > > Ben Hutchings informs me that making it so that Debian ships the
> > > > > latest Linux perf tool requires updates both to the linux-base
> > > > > and linux source packages. The Linux perf tool also has many
> > > > > other often optional dependencies, like libunwind, libbpf,
> > > > > libpfm4, libtraceevent, etc. In general, having the dependency
> > > > > will unlock more
> > > features.
> > > > > Linux tools has its own copies of libbpf and libtraceevent, and
> > > > > so these may pose some versioning issues.
> > > >
> > > > We can use LIBBPF_DYNAMIC=1 to use the distro libbpf-dev package,
> > > > which currently is going thru some growing pains as libbpf is 0.x,
> > > > with several APIs being deprecated, others renamed, and that has
> > > > been a source of friction, but should be past us with v1.0. Till
> > > > then the perf codebase is being adjusted to allow it to be
> > > > seamlessly built with the in-kernel version and with whatever libbpf-devel
> the distro has.
> > > >
> > > > > I think it'd be great to get Debian shipping the latest version
> > > > > of Linux perf for its users. Hopefully we can agree to change
> > > > > how Debian packages perf currently and then work out the best
> > > > > way to package and keep it up-to-date. I look forward to everyone's help
> and input.
> > > >
> > > > I also keep the tarballs available at:
> > > >
> > > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > > mirr
> > > >
> > >
> ors.edge.kernel.org%2Fpub%2Flinux%2Fkernel%2Ftools%2Fperf%2F&amp;dat
> > > a=
> > > >
> > >
> 04%7C01%7Cfelix.moessbauer%40siemens.com%7C4dbf17b41e4542b4c2de08d
> > > 9ad5
> > > >
> > >
> e58c3%7C38ae3bcd95794fd4addab42e1495d55a%7C1%7C0%7C637731443001
> > > 828013%
> > > >
> > >
> 7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTi
> > > I6Ik
> > > >
> > >
> 1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=A2TTg%2BElfRv9bslXw6YmEA1
> > > R8Iu08Z
> > > > hFyv6juVhRj24%3D&amp;reserved=0
> > > >
> > > > Where there are instructions on how to build this detached tarball.
> > > >
> > > > I regularly build perf on lots of distros, including:
> > > >
> > > >   debian:9                      : Ok   gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 ,
> > > clang version 3.8.1-24 (tags/RELEASE_381/final)
> > > >   debian:10                     : Ok   gcc (Debian 8.3.0-6) 8.3.0 , clang version 7.0.1-
> > > 8+deb10u2 (tags/RELEASE_701/final)
> > > >   debian:11                     : Ok   gcc (Debian 10.2.1-6) 10.2.1 20210110 ,
> Debian
> > > clang version 11.0.1-2
> > > >   debian:experimental           : Ok   gcc (Debian 11.2.0-10) 11.2.0 , Debian
> clang
> > > version 11.1.0-4
> > > >   debian:experimental-x-arm64   : Ok   aarch64-linux-gnu-gcc (Debian
> 11.2.0-9)
> > > 11.2.0
> > > >   debian:experimental-x-mips    : Ok   mips-linux-gnu-gcc (Debian 10.2.1-6)
> > > 10.2.1 20210110
> > > >   debian:experimental-x-mips64  : Ok   mips64-linux-gnuabi64-gcc (Debian
> > > 10.2.1-6) 10.2.1 20210110
> > > >   debian:experimental-x-mipsel  : Ok   mipsel-linux-gnu-gcc (Debian 11.2.0-
> 9)
> > > 11.2.0
> > > >
> > > > Ditto for ubuntu.
> > > >
> > > > A complete list can be found in each pull request I send to Linus,
> > > > see in the last one:
> > > >
> > > >
> > > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > > lore
> > > > .kernel.org%2Fall%2F20211107204947.1394255-1-
> > > acme%40kernel.org%2F&amp;
> > > >
> > >
> data=04%7C01%7Cfelix.moessbauer%40siemens.com%7C4dbf17b41e4542b4c2
> > > de08
> > > >
> > >
> d9ad5e58c3%7C38ae3bcd95794fd4addab42e1495d55a%7C1%7C0%7C6377314
> > > 4300182
> > > >
> > >
> 8013%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzI
> > > iLCJBT
> > > >
> > >
> iI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=foKAv3e5lm5du1yoLqhzIVf
> > > vfc7
> > > > RkZqRAxmfTFkID9U%3D&amp;reserved=0
> > > >
> > > > Search for BUILD_TARBALL.
> > > >
> > > > There is also the output for 'make -C tools/perf build-test' that
> > > > tests building with lots of combinations of optional libraries,
> > > > for instance, with LIBBPF_DYNAMIC=1, etc.
> > > >
> > > > - Arnaldo

  reply	other threads:[~2021-11-23  7:46 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-12  6:34 Getting the latest and greatest Linux perf features on every Debian kernel Ian Rogers
2021-11-12 14:39 ` Arnaldo Carvalho de Melo
2021-11-22  2:18   ` Ian Rogers
2021-11-22 12:54     ` Moessbauer, Felix
2021-11-22 16:57       ` Ian Rogers
2021-11-23  7:46         ` Moessbauer, Felix [this message]
2022-01-09 23:54     ` Ben Hutchings
2022-01-10 18:44       ` Arnaldo Carvalho de Melo
2022-12-23  1:43         ` Ian Rogers
2022-12-25 11:51           ` Andi Kleen
2022-12-26 16:12             ` Moessbauer, Felix
2022-12-26 19:15           ` Ben Hutchings
2023-01-10  1:32             ` Ian Rogers
2023-01-13 22:06               ` Ben Hutchings
2022-01-09 23:41   ` Ben Hutchings

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=AM9PR10MB486907ABFB7F82351A7D101589609@AM9PR10MB4869.EURPRD10.PROD.OUTLOOK.COM \
    --to=felix.moessbauer@siemens.com \
    --cc=acme@kernel.org \
    --cc=adriaan.schmidt@siemens.com \
    --cc=ben@decadent.org.uk \
    --cc=debian-kernel@lists.debian.org \
    --cc=henning.schild@siemens.com \
    --cc=irogers@google.com \
    --cc=jan.kiszka@siemens.com \
    --cc=jolsa@kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=namhyung@kernel.org \
    --cc=waldi@debian.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.