Skip to content

Bpftool sync 2026-03-13#247

Merged
qmonnet merged 5 commits intolibbpf:mainfrom
qmonnet:bpftool-sync-2026-03-13T02-55-00.021Z
Mar 13, 2026
Merged

Bpftool sync 2026-03-13#247
qmonnet merged 5 commits intolibbpf:mainfrom
qmonnet:bpftool-sync-2026-03-13T02-55-00.021Z

Conversation

@qmonnet
Copy link
Copy Markdown
Member

@qmonnet qmonnet commented Mar 13, 2026

Pull latest libbpf from mirror and sync bpftool repo with kernel, up to the commits used for libbpf sync. This is an automatic update performed by calling the sync script from this repo:

$ ./scripts/sync-kernel.sh . <path/to/>linux

kuba-moo and others added 5 commits February 17, 2026 11:41
Netlink requires that the recv buffer used during dumps is at least
min(PAGE_SIZE, 8k) (see the man page). Otherwise the messages will
get truncated. Make sure bpftool follows this requirement, avoid
missing information on systems with large pages.

Acked-by: Quentin Monnet <qmo@kernel.org>
Fixes: 7084566a236f ("tools/bpftool: Remove libbpf_internal.h usage in bpftool")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/r/20260217194150.734701-1-kuba@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Add support for specifying multiple file sources in 'bpftool btf dump'
to generate a single C header containing types from vmlinux plus
multiple kernel modules:

  bpftool btf dump file /sys/kernel/btf/mod1 file /sys/kernel/btf/mod2 format c

This is useful for BPF programs that need to access types defined in
kernel modules. Previously this required a separate bpftool invocation
for each module, producing separate headers that could not be combined
due to overlapping vmlinux type definitions.

The implementation collects all file paths, then for the multi-file
case creates an empty split BTF on the vmlinux base and iteratively
merges each module's types into it via btf__add_btf(). The single-file
code path is preserved exactly to avoid any regression risk.

Auto-detection of vmlinux as the base BTF from sysfs paths works as
before. If vmlinux itself appears in the file list it is skipped with
a warning since its types are already provided by the base.

Assisted-by: Claude:claude-opus-4-6

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Reviewed-by: Alan Maguire <alan.maguire@oracle.com>
Link: https://lore.kernel.org/bpf/b19c2760ffe48cec546dd3810d237f8cad20d606.1772657690.git.josef@toxicpanda.com
Pull latest libbpf from mirror.
Libbpf version: 1.7.0
Libbpf commit:  f5dcbae736e5d7f83a35718e01be1a8e3010fa39

Signed-off-by: Quentin Monnet <qmo@kernel.org>
With the introduction of the OMR feature, the PEBS memory auxiliary info
field for load and store latency events has been restructured for DMR.

The memory auxiliary info field's bit[8] indicates whether a L2 cache
miss occurred for a memory load or store instruction. If bit[8] is 0,
it signifies no L2 cache miss, and bits[7:0] specify the exact cache data
source (up to the L2 cache level). If bit[8] is 1, bits[7:0] represent
the OMR encoding, indicating the specific L3 cache or memory region
involved in the memory access. A significant enhancement is OMR encoding
provides up to 8 fine-grained memory regions besides the cache region.

A significant enhancement for OMR encoding is the ability to provide
up to 8 fine-grained memory regions in addition to the cache region,
offering more detailed insights into memory access regions.

For detailed information on the memory auxiliary info encoding, please
refer to section 16.2 "PEBS LOAD LATENCY AND STORE LATENCY FACILITY" in
the ISE documentation.

This patch ensures that the PEBS memory auxiliary info field is correctly
interpreted and utilized in DMR.

Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20260114011750.350569-3-dapeng1.mi@linux.intel.com
Syncing latest bpftool commits from kernel repository.
Baseline bpf-next commit:   08a7491843224f8b96518fbe70d9e48163046054
Checkpoint bpf-next commit: ca0f39a369c5f927c3d004e63a5a778b08a9df94
Baseline bpf commit:        22cc16c04b7893d8fc22810599f49a305d600b9e
Checkpoint bpf commit:      e06e6b8001233241eb5b2e2791162f0585f50f4b

Dapeng Mi (1):
  perf/x86/intel: Add support for PEBS memory auxiliary info field in
    DMR

Jakub Kicinski (1):
  bpftool: Fix truncated netlink dumps

Josef Bacik (1):
  bpftool: Support merging multiple module BTFs in btf dump

 bash-completion/bpftool         |   6 +-
 docs/bpftool-btf.rst            |  11 +--
 include/uapi/linux/perf_event.h |  27 ++++++-
 src/btf.c                       | 121 ++++++++++++++++++++++++++++----
 src/net.c                       |   5 +-
 5 files changed, 149 insertions(+), 21 deletions(-)

Signed-off-by: Quentin Monnet <qmo@kernel.org>
@qmonnet qmonnet merged commit 4222ef1 into libbpf:main Mar 13, 2026
7 checks passed
@qmonnet qmonnet deleted the bpftool-sync-2026-03-13T02-55-00.021Z branch March 13, 2026 03:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants