From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexei Starovoitov Subject: Re: [PATCH bpf-next v2 0/4] libbpf: ABI versioning and documentation Date: Mon, 26 Nov 2018 19:06:52 -0800 Message-ID: <20181127030650.hr6ihkfnlj6dct7c@ast-mbp.dhcp.thefacebook.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: netdev@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net, yhs@fb.com, kafai@fb.com, kernel-team@fb.com To: Andrey Ignatov Return-path: Received: from mail-pl1-f194.google.com ([209.85.214.194]:37348 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727741AbeK0ODU (ORCPT ); Tue, 27 Nov 2018 09:03:20 -0500 Received: by mail-pl1-f194.google.com with SMTP id b5so14880836plr.4 for ; Mon, 26 Nov 2018 19:06:58 -0800 (PST) Content-Disposition: inline In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: On Fri, Nov 23, 2018 at 04:44:31PM -0800, Andrey Ignatov wrote: > This patch set adds ABI versioning and documentation to libbpf. > > Patch 1 renames btf_get_from_id to btf__get_from_id to follow naming > convention. > Patch 2 adds version script and has more details on ABI versioning. > Patch 3 adds simple check that all global symbols are versioned. > Patch 4 documents a few aspects of libbpf API and ABI in dev process. > > v1->v2: > * add patch from Martin KaFai Lau to rename btf_get_from_id; > * add documentation for libbpf API and ABI. All looks great to me. Thank you for adding the doc. Applied to bpf-next. We need to discuss the release model and version bumps. For example I don't think it's necessary to bump the version and update libbpf.map every time the new function is added. I mean we can synchronize release of libbpf with the release of the kernel or release it every N weeks. So if we add new api functions during this release we can simply add them to libbpf.map while keeping the version as 0.0.1 I'd also consider the first 0.0.1 release to be experimental while we're figuring out the right process. For the next kernel/libbpf release I propose to bump it to 1.0.0 Another idea is to version it just like kernel and make libbpf version always equal kernel version. But I think that would be an overkill. libbpf isn't tightly coupled to the kernel. Like we just merged the patch (prog_name/map_name probing that allows new libbpf to work with older kernel.