Re: [PATCH bpf-next v3 4/4] selftests: Add tests for automatic map pinning
From: Jesper Dangaard Brouer <hidden>
Date: 2019-10-28 16:13:23
Also in:
bpf
On Mon, 28 Oct 2019 15:32:26 +0000 Yonghong Song [off-list ref] wrote:
On 10/28/19 6:15 AM, Toke Høiland-Jørgensen wrote:quoted
Jesper Dangaard Brouer [off-list ref] writes:quoted
On Sun, 27 Oct 2019 21:53:19 +0100 Toke Høiland-Jørgensen [off-list ref] wrote:quoted
diff --git a/tools/testing/selftests/bpf/progs/test_pinning.c b/tools/testing/selftests/bpf/progs/test_pinning.c new file mode 100644 index 000000000000..ff2d7447777e --- /dev/null +++ b/tools/testing/selftests/bpf/progs/test_pinning.c@@ -0,0 +1,29 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include <linux/bpf.h> +#include "bpf_helpers.h" + +int _version SEC("version") = 1; + +struct { + __uint(type, BPF_MAP_TYPE_ARRAY); + __uint(max_entries, 1); + __type(key, __u32); + __type(value, __u64); + __uint(pinning, LIBBPF_PIN_BY_NAME); +} pinmap SEC(".maps");So, this is the new BTF-defined maps syntax. Please remind me, what version of LLVM do we need to compile this?No idea what the minimum version is. I'm running LLVM 9.0 :)LLVM 9.0 starts to support .maps. There is no dependency on pahole.
LLVM 9.0.0 is still very new: - 19 September 2019: LLVM 9.0.0 is now available For my XDP-tutorial[1], I cannot required people to have this new llvm version. But I would like to teach people about this new syntax (note, I can upgrade libbpf version via git-submodule, and update bpf_helpers.h). To Andrii, any recommendations on how I can do the transition? I'm thinking, it should be possible to define both ELF-object sections SEC "maps" and ".maps" at the same time. But how does libbpf handle that? (Who takes precedence?) (Alternatively, I can detect the LLVM version, in the Makefile, and have a #ifdef define in the code) -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer [1] https://github.com/xdp-project/xdp-tutorial