[RFC PATCH] tools/sched_ext: Use u64 for kind field to fix ARM64 atomic ops

Xuewen Yan posted 1 patch 21 hours ago
tools/sched_ext/include/scx/user_exit_info_common.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[RFC PATCH] tools/sched_ext: Use u64 for kind field to fix ARM64 atomic ops
Posted by Xuewen Yan 21 hours ago
From: Guohua Yan <guohua.yan@unisoc.com>

There are following compile errors in arm64:

bpftools/CORE/scx_simple.bpf.c:144:2: error: unsupported atomic operation, please use 64 bit version
  144 |         UEI_RECORD(uei, ei);
      |         ^

Convert kind from int to u64 to resolve ARM64 atomic operation
limitations. ARM64 primarily supports 64-bit atomic operations.

Signed-off-by: Guohua Yan <guohua.yan@unisoc.com>
Signed-off-by: Xuewen Yan <xuewen.yan@unisoc.com>
---
 tools/sched_ext/include/scx/user_exit_info_common.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/sched_ext/include/scx/user_exit_info_common.h b/tools/sched_ext/include/scx/user_exit_info_common.h
index 2d0981aedd89..5bad20faade1 100644
--- a/tools/sched_ext/include/scx/user_exit_info_common.h
+++ b/tools/sched_ext/include/scx/user_exit_info_common.h
@@ -21,7 +21,7 @@ enum uei_sizes {
 };
 
 struct user_exit_info {
-	int		kind;
+	u64		kind;
 	s64		exit_code;
 	char		reason[UEI_REASON_LEN];
 	char		msg[UEI_MSG_LEN];
-- 
2.25.1
Re: [RFC PATCH] tools/sched_ext: Use u64 for kind field to fix ARM64 atomic ops
Posted by Tejun Heo 10 hours ago
On Mon, Feb 09, 2026 at 04:55:36PM +0800, Xuewen Yan wrote:
> From: Guohua Yan <guohua.yan@unisoc.com>
> 
> There are following compile errors in arm64:
> 
> bpftools/CORE/scx_simple.bpf.c:144:2: error: unsupported atomic operation, please use 64 bit version
>   144 |         UEI_RECORD(uei, ei);
>       |         ^
> 
> Convert kind from int to u64 to resolve ARM64 atomic operation
> limitations. ARM64 primarily supports 64-bit atomic operations.

Alexei says this is llvm bpf backend error and the answer is to upgrade to a
modern llvm that defaults to -mcpu=v3.

Thanks.

-- 
tejun
Re: [RFC PATCH] tools/sched_ext: Use u64 for kind field to fix ARM64 atomic ops
Posted by Xuewen Yan 4 hours ago
On Tue, Feb 10, 2026 at 3:11 AM Tejun Heo <tj@kernel.org> wrote:
>
> On Mon, Feb 09, 2026 at 04:55:36PM +0800, Xuewen Yan wrote:
> > From: Guohua Yan <guohua.yan@unisoc.com>
> >
> > There are following compile errors in arm64:
> >
> > bpftools/CORE/scx_simple.bpf.c:144:2: error: unsupported atomic operation, please use 64 bit version
> >   144 |         UEI_RECORD(uei, ei);
> >       |         ^
> >
> > Convert kind from int to u64 to resolve ARM64 atomic operation
> > limitations. ARM64 primarily supports 64-bit atomic operations.
>
> Alexei says this is llvm bpf backend error and the answer is to upgrade to a
> modern llvm that defaults to -mcpu=v3.

Thank you for the insight. We'll upgrade our LLVM toolchain and test
with -mcpu=v3.
Appreciate your guidance on this backend issue.

Thanks!