From: kernel test robot <lkp@intel.com>
To: Tejun Heo <tj@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, Andrea Righi <arighi@nvidia.com>
Subject: [tj-sched-ext:for-next 5/17] kernel/sched/ext/inlines.h:44:66: sparse: sparse: incompatible types in comparison expression (different address spaces):
Date: Mon, 09 Nov 2026 10:24:00 +0100 [thread overview]
Message-ID: <202611091033.nhKyExPa-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git for-next
head: 5372f91e6ac4d064ddd4eda4c93e0d528506fb1f
commit: 9ce6fca02867911ba79bc3664219effe8c7be8f4 [5/17] sched_ext: Fix stale pick when the donor changes during dispatch
config: arm-randconfig-r2305-20261109 (https://download.01.org/0day-ci/archive/20261109/202611091033.nhKyExPa-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
sparse: v0.6.5-rc1-21-g84ec0658
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261109/202611091033.nhKyExPa-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202611091033.nhKyExPa-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
kernel/sched/ext/ext.c:11734:17: sparse: sparse: symbol 'scx_bpf_this_cid' was not declared. Should it be static?
kernel/sched/ext/ext.c:11749:34: sparse: sparse: symbol 'scx_bpf_get_possible_cpumask' was not declared. Should it be static?
kernel/sched/ext/ext.c:11757:34: sparse: sparse: symbol 'scx_bpf_get_online_cpumask' was not declared. Should it be static?
kernel/sched/ext/ext.c:11766:18: sparse: sparse: symbol 'scx_bpf_put_cpumask' was not declared. Should it be static?
kernel/sched/ext/ext.c:11794:17: sparse: sparse: symbol 'scx_bpf_task_cpu' was not declared. Should it be static?
kernel/sched/ext/ext.c:11807:17: sparse: sparse: symbol 'scx_bpf_task_cid' was not declared. Should it be static?
kernel/sched/ext/ext.c:11827:23: sparse: sparse: symbol 'scx_bpf_locked_rq' was not declared. Should it be static?
kernel/sched/ext/ext.c:11859:32: sparse: sparse: symbol 'scx_bpf_cpu_curr' was not declared. Should it be static?
kernel/sched/ext/ext.c:11883:32: sparse: sparse: symbol 'scx_bpf_cid_curr' was not declared. Should it be static?
kernel/sched/ext/ext.c:11908:32: sparse: sparse: symbol 'scx_bpf_tid_to_task' was not declared. Should it be static?
kernel/sched/ext/ext.c:11976:17: sparse: sparse: symbol 'scx_bpf_now' was not declared. Should it be static?
kernel/sched/ext/ext.c:12011:18: sparse: sparse: symbol 'scx_bpf_events' was not declared. Should it be static?
kernel/sched/build_policy.c: note: in included file:
kernel/sched/ext/cid.c:498:18: sparse: sparse: symbol 'scx_bpf_cid_override' was not declared. Should it be static?
kernel/sched/ext/cid.c:662:17: sparse: sparse: symbol 'scx_bpf_cid_to_cpu' was not declared. Should it be static?
kernel/sched/ext/cid.c:707:17: sparse: sparse: symbol 'scx_bpf_cpu_to_cid' was not declared. Should it be static?
kernel/sched/ext/cid.c:981:18: sparse: sparse: symbol 'scx_bpf_cid_topo' was not declared. Should it be static?
kernel/sched/build_policy.c: note: in included file:
kernel/sched/ext/idle.c:1067:17: sparse: sparse: symbol 'scx_bpf_cpu_node' was not declared. Should it be static?
kernel/sched/ext/idle.c:1150:1: sparse: sparse: symbol '__scx_bpf_select_cpu_and' was not declared. Should it be static?
kernel/sched/ext/idle.c:1169:17: sparse: sparse: symbol 'scx_bpf_select_cpu_and' was not declared. Should it be static?
kernel/sched/ext/idle.c:1212:34: sparse: sparse: symbol 'scx_bpf_get_idle_cpumask_node' was not declared. Should it be static?
kernel/sched/ext/idle.c:1270:34: sparse: sparse: symbol 'scx_bpf_get_idle_smtmask_node' was not declared. Should it be static?
kernel/sched/ext/idle.c:1389:17: sparse: sparse: symbol 'scx_bpf_pick_idle_cpu_node' was not declared. Should it be static?
kernel/sched/ext/idle.c:1475:17: sparse: sparse: symbol 'scx_bpf_pick_any_cpu_node' was not declared. Should it be static?
kernel/sched/build_policy.c: note: in included file:
kernel/sched/ext/sub.c:229:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *donor @@
kernel/sched/ext/sub.c:2861:17: sparse: sparse: symbol 'scx_bpf_sub_grant' was not declared. Should it be static?
kernel/sched/ext/sub.c:2992:18: sparse: sparse: symbol 'scx_bpf_sub_revoke' was not declared. Should it be static?
kernel/sched/ext/sub.c:3086:17: sparse: sparse: symbol 'scx_bpf_sub_caps' was not declared. Should it be static?
kernel/sched/ext/sub.c:3176:17: sparse: sparse: symbol 'scx_bpf_sub_kill_bstr' was not declared. Should it be static?
kernel/sched/build_policy.c: note: in included file:
kernel/sched/syscalls.c:1420:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *donor @@
kernel/sched/build_policy.c: note: in included file:
kernel/sched/rt.c:1313:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/rt.c:1313:23: sparse: struct task_struct *
kernel/sched/rt.c:1313:23: sparse: struct task_struct [noderef] __rcu *
kernel/sched/build_policy.c: note: in included file:
kernel/sched/sched.h:2520:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2520:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2520:25: sparse: struct task_struct *
kernel/sched/sched.h:2520:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2520:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2520:25: sparse: struct task_struct *
kernel/sched/sched.h:2531:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2531:26: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2531:26: sparse: struct task_struct *
kernel/sched/sched.h:2520:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2520:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2520:25: sparse: struct task_struct *
kernel/sched/sched.h:2531:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2531:26: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2531:26: sparse: struct task_struct *
kernel/sched/sched.h:1469:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1469:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1469:25: sparse: struct task_struct *
kernel/sched/build_policy.c: note: in included file:
kernel/sched/deadline.c:2340:15: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/deadline.c:2340:15: sparse: struct task_struct *
kernel/sched/deadline.c:2340:15: sparse: struct task_struct [noderef] __rcu *
kernel/sched/build_policy.c: note: in included file:
kernel/sched/sched.h:2520:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2520:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2520:25: sparse: struct task_struct *
kernel/sched/sched.h:2520:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2520:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2520:25: sparse: struct task_struct *
kernel/sched/sched.h:2531:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2531:26: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2531:26: sparse: struct task_struct *
kernel/sched/sched.h:2531:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2531:26: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2531:26: sparse: struct task_struct *
kernel/sched/sched.h:2520:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2520:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2520:25: sparse: struct task_struct *
kernel/sched/sched.h:2531:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2531:26: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2531:26: sparse: struct task_struct *
kernel/sched/sched.h:2531:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2531:26: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2531:26: sparse: struct task_struct *
kernel/sched/sched.h:2531:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2531:26: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2531:26: sparse: struct task_struct *
kernel/sched/sched.h:2531:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2531:26: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2531:26: sparse: struct task_struct *
kernel/sched/build_policy.c: note: in included file:
>> kernel/sched/ext/inlines.h:44:66: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/ext/inlines.h:44:66: sparse: struct task_struct *
kernel/sched/ext/inlines.h:44:66: sparse: struct task_struct [noderef] __rcu *
>> kernel/sched/ext/inlines.h:44:66: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/ext/inlines.h:44:66: sparse: struct task_struct *
kernel/sched/ext/inlines.h:44:66: sparse: struct task_struct [noderef] __rcu *
>> kernel/sched/ext/inlines.h:44:66: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/ext/inlines.h:44:66: sparse: struct task_struct *
kernel/sched/ext/inlines.h:44:66: sparse: struct task_struct [noderef] __rcu *
>> kernel/sched/ext/inlines.h:44:66: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/ext/inlines.h:44:66: sparse: struct task_struct *
kernel/sched/ext/inlines.h:44:66: sparse: struct task_struct [noderef] __rcu *
kernel/sched/build_policy.c: note: in included file:
kernel/sched/sched.h:2531:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2531:26: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2531:26: sparse: struct task_struct *
kernel/sched/sched.h:2531:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2531:26: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2531:26: sparse: struct task_struct *
kernel/sched/sched.h:2531:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2531:26: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2531:26: sparse: struct task_struct *
kernel/sched/build_policy.c: note: in included file:
>> kernel/sched/ext/inlines.h:44:66: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/ext/inlines.h:44:66: sparse: struct task_struct *
kernel/sched/ext/inlines.h:44:66: sparse: struct task_struct [noderef] __rcu *
>> kernel/sched/ext/inlines.h:44:66: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/ext/inlines.h:44:66: sparse: struct task_struct *
kernel/sched/ext/inlines.h:44:66: sparse: struct task_struct [noderef] __rcu *
kernel/sched/build_policy.c: note: in included file:
kernel/sched/sched.h:1469:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1469:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:1469:25: sparse: struct task_struct *
kernel/sched/build_policy.c: note: in included file:
kernel/sched/syscalls.c:1345:11: sparse: sparse: dereference of noderef expression
kernel/sched/build_policy.c: note: in included file:
kernel/sched/rt.c:1680:15: sparse: sparse: dereference of noderef expression
vim +44 kernel/sched/ext/inlines.h
23
24 /**
25 * scx_dsp_prev_stale - Test whether dispatch's @prev went stale
26 * @rq: rq being dispatched for
27 * @prev: @rq's donor when dispatch started
28 *
29 * @prev can stop being @rq's donor while dispatch has the rq lock dropped. With
30 * proxy execution, @prev may not be the running task, and another CPU can reset
31 * the donor to rq->curr. With core scheduling, the core pick runs dispatch for
32 * the sibling rqs too, and a sibling can switch @prev out. Dispatch restarts
33 * the pick when that happened and doesn't hand the old donor to the BPF
34 * scheduler.
35 *
36 * With proxy execution alone, the donor only ever changes to rq->curr during a
37 * pick. Only __schedule() on this CPU sets a different donor, after the pick,
38 * so the restarted pick takes rq->curr as @prev and can't go stale again. Under
39 * core scheduling, the restart goes through the core pick, which already
40 * retries whenever dispatch dropped the lock.
41 */
42 static inline bool scx_dsp_prev_stale(struct rq *rq, struct task_struct *prev)
43 {
> 44 return (sched_proxy_exec() || sched_core_enabled(rq)) && unlikely(prev != rq->donor);
45 }
46
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-11-09 9:24 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202611091033.nhKyExPa-lkp@intel.com \
--to=lkp@intel.com \
--cc=arighi@nvidia.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.