All of lore.kernel.org
 help / color / mirror / Atom feed
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.