44 lines
1.3 KiB
Diff
44 lines
1.3 KiB
Diff
From b822a139e3997a0a09da940e5c88ea505459e81f Mon Sep 17 00:00:00 2001
|
|
From: Hou Tao <houtao1@huawei.com>
|
|
Date: Wed, 16 Nov 2022 15:23:48 +0800
|
|
Subject: [PATCH] libbpf: Use page size as max_entries when probing ring buffer
|
|
map
|
|
|
|
Using page size as max_entries when probing ring buffer map, else the
|
|
probe may fail on host with 64KB page size (e.g., an ARM64 host).
|
|
|
|
After the fix, the output of "bpftool feature" on above host will be
|
|
correct.
|
|
|
|
Before :
|
|
eBPF map_type ringbuf is NOT available
|
|
eBPF map_type user_ringbuf is NOT available
|
|
|
|
After :
|
|
eBPF map_type ringbuf is available
|
|
eBPF map_type user_ringbuf is available
|
|
|
|
Signed-off-by: Hou Tao <houtao1@huawei.com>
|
|
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
|
|
Link: https://lore.kernel.org/bpf/20221116072351.1168938-2-houtao@huaweicloud.com
|
|
---
|
|
src/libbpf_probes.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/src/libbpf_probes.c b/src/libbpf_probes.c
|
|
index 97b06ce..49c36cb 100644
|
|
--- a/src/libbpf_probes.c
|
|
+++ b/src/libbpf_probes.c
|
|
@@ -289,7 +289,7 @@ static int probe_map_create(enum bpf_map_type map_type, __u32 ifindex)
|
|
case BPF_MAP_TYPE_RINGBUF:
|
|
key_size = 0;
|
|
value_size = 0;
|
|
- max_entries = 4096;
|
|
+ max_entries = sysconf(_SC_PAGE_SIZE);
|
|
break;
|
|
case BPF_MAP_TYPE_STRUCT_OPS:
|
|
/* we'll get -ENOTSUPP for invalid BTF type ID for struct_ops */
|
|
--
|
|
2.33.0
|
|
|