diff options
| author | Cheng-Yang Chou <yphbchou0911@gmail.com> | 2026-05-13 16:17:11 +0800 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2026-05-13 08:58:37 -1000 |
| commit | c9017d335aab23c4514daed79c939af52a9aa7f6 (patch) | |
| tree | 230adb3f83bb08c4a3b380e9fde87ba2228c9f40 /include/linux/timerqueue.h | |
| parent | fbce803562169a9735d9d3aa9a15ea28d99f977d (diff) | |
tools/sched_ext: scx_qmap: Fix qa arena placement
__arena is a pointer qualifier meaning "this pointer points to arena
memory". When used on a global variable declaration, it expands to
nothing in scx's build because __BPF_FEATURE_ADDR_SPACE_CAST is never
defined, leaving qa as a plain global in BSS. bpftool then generates
skel->bss->qa instead of the expected skel->arena->qa, causing:
scx_qmap.c: error: 'struct scx_qmap' has no member named 'arena'
__arena_global is the correct annotation for global variables that
reside in the arena. When __BPF_FEATURE_ADDR_SPACE_CAST is not defined
it expands to SEC(".addr_space.1"), placing qa in the arena ELF section.
When __BPF_FEATURE_ADDR_SPACE_CAST is defined it expands to
__attribute__((address_space(1))). In both cases bpftool generates the
typed skel->arena accessor.
Fixes: 60a59eaca71b ("sched_ext: scx_qmap: move globals and cpu_ctx into a BPF arena map")
Signed-off-by: Cheng-Yang Chou <yphbchou0911@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
