]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
tools/sched_ext/include: Add __COMPAT_HAS_scx_bpf_select_cpu_and macro
authorTejun Heo <tj@kernel.org>
Sun, 8 Mar 2026 02:45:17 +0000 (16:45 -1000)
committerTejun Heo <tj@kernel.org>
Sun, 8 Mar 2026 08:45:12 +0000 (22:45 -1000)
scx_bpf_select_cpu_and() is now an inline wrapper so
bpf_ksym_exists(scx_bpf_select_cpu_and) no longer works. Add
__COMPAT_HAS_scx_bpf_select_cpu_and macro that checks for either the
struct args type (new) or the compat ksym (old) to test availability.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Andrea Righi <arighi@nvidia.com>
tools/sched_ext/include/scx/compat.bpf.h

index 2d3985be7e2c1fa30d42d93046dadb14aea7f459..704728864d8350a9ad1a7f81c661397dc0327731 100644 (file)
@@ -266,6 +266,14 @@ scx_bpf_select_cpu_and(struct task_struct *p, s32 prev_cpu, u64 wake_flags,
        }
 }
 
+/*
+ * scx_bpf_select_cpu_and() is now an inline wrapper. Use this instead of
+ * bpf_ksym_exists(scx_bpf_select_cpu_and) to test availability.
+ */
+#define __COMPAT_HAS_scx_bpf_select_cpu_and                            \
+       (bpf_core_type_exists(struct scx_bpf_select_cpu_and_args) ||    \
+        bpf_ksym_exists(scx_bpf_select_cpu_and___compat))
+
 /**
  * scx_bpf_dsq_insert_vtime - Insert a task into the vtime priority queue of a DSQ
  * @p: task_struct to insert