From: Andrii Nakryiko <email@example.com> To: Alexei Starovoitov <firstname.lastname@example.org> Cc: "Toke Høiland-Jørgensen" <email@example.com>, "Jiri Olsa" <firstname.lastname@example.org>, "Arnaldo Carvalho de Melo" <email@example.com>, lkml <firstname.lastname@example.org>, Networking <email@example.com>, bpf <firstname.lastname@example.org>, "Ingo Molnar" <email@example.com>, "Namhyung Kim" <firstname.lastname@example.org>, "Alexander Shishkin" <email@example.com>, "Peter Zijlstra" <firstname.lastname@example.org>, "Michael Petlan" <email@example.com>, "Jesper Dangaard Brouer" <firstname.lastname@example.org>, "Daniel Borkmann" <email@example.com>, "Martin KaFai Lau" <firstname.lastname@example.org>, "Song Liu" <email@example.com>, "Yonghong Song" <firstname.lastname@example.org>, "Andrii Nakryiko" <email@example.com>, "Quentin Monnet" <firstname.lastname@example.org> Subject: Re: [PATCHv4 0/6] perf/bpftool: Allow to link libbpf dynamically Date: Wed, 4 Dec 2019 13:16:13 -0800 Message-ID: <CAEf4BzZ+0XpH_zJ0P78vjzmFAH3kGZ21w3-LcSEG=B=+ZQWJemail@example.com> (raw) In-Reply-To: <CAADnVQK-arrrNrgtu48_f--WCwR5ki2KGaX=mN2qmW_AcRybfirstname.lastname@example.org> On Tue, Dec 3, 2019 at 9:52 PM Alexei Starovoitov <email@example.com> wrote: > > On Mon, Dec 2, 2019 at 1:15 PM Toke Høiland-Jørgensen <firstname.lastname@example.org> wrote: > > > > Ah, that is my mistake: I was getting dynamic libbpf symbols with this > > approach, but that was because I had the version of libbpf.so in my > > $LIBDIR that had the patch to expose the netlink APIs as versioned > > symbols; so it was just pulling in everything from the shared library. > > > > So what I was going for was exactly what you described above; but it > > seems that doesn't actually work. Too bad, and sorry for wasting your > > time on this :/ > > bpftool is currently tightly coupled with libbpf and very likely > in the future the dependency will be even tighter. > In that sense bpftool is an extension of libbpf and libbpf is an extension > of bpftool. > Andrii is working on set of patches to generate user space .c code > from bpf program. > bpftool will be generating the code that is specific for the version > bpftool and for > the version of libbpf. There will be compatibility layers as usual. > But in general the situation where a bug in libbpf is so criticial > that bpftool needs to repackaged is imo less likely than a bug in > bpftool that will require re-packaging of libbpf. > bpftool is quite special. It's not a typical user of libbpf. > The other way around is more correct. libbpf is a user of the code > that bpftool generates and both depend on each other. > perf on the other side is what typical user space app that uses > libbpf will look like. > I think keeping bpftool in the kernel while packaging libbpf > out of github was an oversight. I wonder what big advantage having bpftool in libbpf's Github repo brings, actually? The reason we need libbpf on github is to allow other projects like pahole to be able to use libbpf from submodule. There is no such need for bpftool. I agree about preference to release them in sync, but that could be easily done by releasing based on corresponding commits in github's libbpf repo and kernel repo. bpftool doesn't have to physically live next to libbpf on Github, does it? Calling github repo a "mirror" is incorrect. It's not a 1:1 copy of files. We have a completely separate Makefile for libbpf, and we have a bunch of stuff we had to re-implement to detach libbpf code from kernel's non-UAPI headers. Doing this for bpftool as well seems like just more maintenance. Keeping github's Makefile in sync with kernel's Makefile (for libbpf) is PITA, I'd rather avoid similar pains for bpftool without a really good reason. > I think we need to mirror bpftool into github/libbpf as well > and make sure they stay together. The version of libbpf == version of bpftool. > Both should come from the same package and so on. > May be they can be two different packages but > upgrading one should trigger upgrade of another and vice versa. > I think one package would be easier though. > Thoughts?
next prev parent reply index Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-02 13:18 Jiri Olsa 2019-12-02 13:18 ` [PATCH 1/6] perf tools: Allow to specify libbpf install directory Jiri Olsa 2019-12-02 13:18 ` [PATCH 2/6] bpftool: Allow to link libbpf dynamically Jiri Olsa 2019-12-02 13:18 ` [PATCH 3/6] bpftool: Rename BPF_DIR Makefile variable to LIBBPF_SRC_DIR Jiri Olsa 2019-12-02 13:18 ` [PATCH 4/6] bpftool: Rename LIBBPF_OUTPUT Makefile variable to LIBBPF_BUILD_OUTPUT Jiri Olsa 2019-12-02 13:18 ` [PATCH 5/6] bpftool: Rename LIBBPF_PATH Makefile variable to LIBBPF_BUILD_PATH Jiri Olsa 2019-12-02 13:18 ` [PATCH 6/6] selftests, bpftool: Add build test for libbpf dynamic linking Jiri Olsa 2019-12-02 15:38 ` Quentin Monnet 2019-12-02 19:41 ` [PATCHv4 0/6] perf/bpftool: Allow to link libbpf dynamically Andrii Nakryiko 2019-12-02 21:15 ` Toke Høiland-Jørgensen 2019-12-04 5:52 ` Alexei Starovoitov 2019-12-04 9:01 ` Jiri Olsa 2019-12-04 10:57 ` Toke Høiland-Jørgensen 2019-12-04 17:39 ` Alexei Starovoitov 2019-12-04 18:27 ` Daniel Borkmann 2019-12-04 20:22 ` Toke Høiland-Jørgensen 2019-12-04 21:16 ` Andrii Nakryiko [this message] 2019-12-04 21:54 ` Jakub Kicinski 2019-12-04 23:39 ` Alexei Starovoitov 2019-12-05 0:23 ` Jakub Kicinski 2019-12-05 0:29 ` David Miller 2019-12-05 1:25 ` Alexei Starovoitov 2019-12-05 1:09 ` Alexei Starovoitov 2019-12-05 2:10 ` Jakub Kicinski 2019-12-05 3:17 ` Alexei Starovoitov 2019-12-05 4:26 ` Jakub Kicinski 2019-12-05 6:44 ` Alexei Starovoitov 2019-12-05 8:35 ` Jesper Dangaard Brouer 2019-12-05 12:09 ` Michal Rostecki
Reply instructions: You may reply publically 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='CAEf4BzZ+0XpH_zJ0P78vjzmFAH3kGZ21w3-LcSEG=B=+ZQWJemail@example.com' \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.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
BPF Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/bpf/0 bpf/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 bpf bpf/ https://lore.kernel.org/bpf \ firstname.lastname@example.org public-inbox-index bpf Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.bpf AGPL code for this site: git clone https://public-inbox.org/public-inbox.git