linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrii Nakryiko <andrii.nakryiko@gmail.com>
To: Shung-Hsi Yu <shung-hsi.yu@suse.com>
Cc: linux-perf-users@vger.kernel.org, bpf@vger.kernel.org,
	"Toke Høiland-Jørgensen" <toke@redhat.com>,
	"Quentin Monnet" <quentin@isovalent.com>,
	"Alexei Starovoitov" <ast@kernel.org>,
	"Daniel Borkmann" <daniel@iogearbox.net>,
	"Andrii Nakryiko" <andrii@kernel.org>,
	"Jiri Olsa" <jolsa@kernel.org>, "Tony Jones" <tonyj@suse.de>,
	"Jesper Dangaard Brouer" <brouer@redhat.com>,
	"Jakub Sitnicki" <jakub@cloudflare.com>,
	"Arnaldo Carvalho de Melo" <acme@kernel.org>,
	"David Miller" <davem@davemloft.net>,
	"Mahe Tardy" <mahe.tardy@gmail.com>,
	"Michal Suchánek" <msuchanek@suse.de>
Subject: Re: Packaging bpftool and libbpf: GitHub or kernel?
Date: Fri, 28 Apr 2023 14:15:06 -0700	[thread overview]
Message-ID: <CAEf4Bzb9UZykRSczsP5quSEL5DvneuYfB2eLmnLKee_YrCROpw@mail.gmail.com> (raw)
In-Reply-To: <ZEuOK8Rvlm52d2DK@syu-laptop>

On Fri, Apr 28, 2023 at 2:13 AM Shung-Hsi Yu <shung-hsi.yu@suse.com> wrote:
>
> On Thu, Apr 20, 2023 at 02:39:17PM -0700, Andrii Nakryiko wrote:
> > On Thu, Apr 20, 2023 at 7:46 AM Toke Høiland-Jørgensen <toke@redhat.com> wrote:
> > > [snip]
> > > Right, well, you don't *have* to be cooperative with the wider
> > > ecosystem, of course. Just as packagers don't have to follow your
> > > recommendations if they have good reasons not to. I believe we've had
> > > this discussion before, and I don't think we're going to agree this time
> > > around either, so let's not waste any more virtual ink on rehashing it :)
> >
> > Exactly, so I'm not sure why we are even having this conversation all
> > over again. I agree on not wasting virtual ink anymore. I'm not
> > forcing anyone to follow my advice, I expect others to not force me to
> > follow theirs.
>
> Thanks for still going through the reasoning.
>
> I don't have anything to add to the discussion, so instead here's an attempt
> to summarize the thread thus far, reading between the lines here and there
> to keep it terse but complete; feel free to point out where I misunderstood.
>
>
> # Packaging bpftool and libbpf
>
> - bpftool and libbpf version should be kept in sync
>   - interdependency is by design
>   - bpftool uses private functionality of libbpf
>   - bpftool generated file is tie to specific libbpf (?)

this bullet point is not true, generated BPF skeleton or statically
linked BPF object file should work across wide range of libbpf
versions

>
> - the GitHub mirror is the recommended source
>
> - benefits of using the GitHub mirror includes
>   - ease of upgrade
>   - maintainer crafted changelog

I'd also say consistency between all distros (assuming everyone use
Github mirror). Because release X means exactly the same set of
commits.

>
> - downsides of using the GitHub mirror has to do with kernel backporting
>
> - git submodule requires extra work for distros to package
>   - offsetted if the source of submodules are released along
>
> - bpftool releases will (have a file that) includes submodules' source along
>   going forward
>
> - bpftool and libbpf both should work on earlier kernel (if not it's a bug)
>
>
> # Other
>
> - motivations for GitHub mirror
>   - ease of distribution, packaging, build
>   - CI, to be used as submodule, Window support, etc.
>
> - libbpf interface stability
>   - stable API and ABI (within major version)
>   - BPF object format is not considered stable

BPF object file format is stable, but not frozen, it can keep evolving

>
> - libbpf is not opinionated in how it's used as a library, either
>   - statically or dynamically linked
>   - a tagged release or a random commit
>
> - on statically linking libbpf
>   - reasoning
>     - full control of implementation detail, decouples from distro package
>   - against
>     - difficulty in applying fixes
>

Looks good to me apart from things I pointed out above. Thanks for summarizing!


>
> Shung-Hsi
>
> > >
> > > -Toke
> > >

  reply	other threads:[~2023-04-28 21:15 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-13  9:23 Packaging bpftool and libbpf: GitHub or kernel? Shung-Hsi Yu
2023-04-13  9:50 ` Shung-Hsi Yu
2023-04-14  1:12   ` Quentin Monnet
2023-04-14  9:33     ` Michal Suchánek
2023-04-18  9:28     ` Shung-Hsi Yu
2023-04-13 11:00 ` Toke Høiland-Jørgensen
2023-04-19 10:54   ` Shung-Hsi Yu
2023-04-19 19:42     ` Andrii Nakryiko
2023-04-19 22:23       ` tonyj
2023-04-21 21:15         ` Vince Weaver
2023-04-20 19:18       ` Arnaldo Carvalho de Melo
2023-04-14  0:35 ` Quentin Monnet
2023-04-14  9:50   ` Michal Suchánek
2023-04-14 12:30     ` Quentin Monnet
2023-04-14 16:15       ` Michal Suchánek
2023-04-18  0:20         ` Andrii Nakryiko
2023-04-18 11:24           ` Michal Suchánek
2023-04-18 16:38             ` Andrii Nakryiko
2023-04-18 17:41               ` Michal Suchánek
2023-04-19 14:14                 ` Shung-Hsi Yu
2023-04-19 19:52                   ` Andrii Nakryiko
2023-04-19 21:23                     ` Toke Høiland-Jørgensen
2023-04-19 23:42                       ` Andrii Nakryiko
2023-04-20 14:46                         ` Toke Høiland-Jørgensen
2023-04-20 21:39                           ` Andrii Nakryiko
2023-04-28  9:13                             ` Shung-Hsi Yu
2023-04-28 21:15                               ` Andrii Nakryiko [this message]
2023-04-19 19:35                 ` Andrii Nakryiko
2023-04-18 12:22       ` Dave Thaler
2023-04-18  0:00   ` Andrii Nakryiko

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=CAEf4Bzb9UZykRSczsP5quSEL5DvneuYfB2eLmnLKee_YrCROpw@mail.gmail.com \
    --to=andrii.nakryiko@gmail.com \
    --cc=acme@kernel.org \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=brouer@redhat.com \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=jakub@cloudflare.com \
    --cc=jolsa@kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mahe.tardy@gmail.com \
    --cc=msuchanek@suse.de \
    --cc=quentin@isovalent.com \
    --cc=shung-hsi.yu@suse.com \
    --cc=toke@redhat.com \
    --cc=tonyj@suse.de \
    /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).