From: kernel test robot <lkp@intel.com>
To: K Prateek Nayak <kprateek.nayak@amd.com>
Cc: oe-kbuild-all@lists.linux.dev,
Peter Zijlstra <peterz@infradead.org>,
Andrea Righi <arighi@nvidia.com>
Subject: [peterz-queue:sched/core 6/9] kernel/sched/topology.c:2705:25: sparse: sparse: incorrect type in assignment (different address spaces)
Date: Thu, 14 May 2026 21:13:09 +0800 [thread overview]
Message-ID: <202605142117.gyxGm7SY-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/core
head: 238b6f2b3a4948ca7048025a15874b2c253a34bf
commit: c3d608e99c540bb4a68f31a1e0dffa7af2827216 [6/9] sched/fair: Attach sched_domain_shared to sd_asym_cpucapacity
config: nios2-randconfig-r123-20260514 (https://download.01.org/0day-ci/archive/20260514/202605142117.gyxGm7SY-lkp@intel.com/config)
compiler: nios2-linux-gcc (GCC) 8.5.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260514/202605142117.gyxGm7SY-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/202605142117.gyxGm7SY-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
kernel/sched/build_utility.c: note: in included file:
kernel/sched/debug.c:730:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/debug.c:730:17: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/debug.c:730:17: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/debug.c:1071:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/debug.c:1071:9: sparse: expected struct task_struct *tsk
kernel/sched/debug.c:1071:9: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/debug.c:1071:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/debug.c:1071:9: sparse: expected struct task_struct *tsk
kernel/sched/debug.c:1071:9: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/build_utility.c: note: in included file:
kernel/sched/topology.c:116:56: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:116:56: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:116:56: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:135:60: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:135:60: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:135:60: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:158:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:158:20: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:158:20: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:468:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct perf_domain *pd @@ got struct perf_domain [noderef] __rcu *pd @@
kernel/sched/topology.c:468:19: sparse: expected struct perf_domain *pd
kernel/sched/topology.c:468:19: sparse: got struct perf_domain [noderef] __rcu *pd
kernel/sched/topology.c:643:49: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:643:49: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:643:49: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:746:50: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:746:50: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:746:50: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:761:55: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain [noderef] __rcu *[noderef] __rcu child @@ got struct sched_domain *[assigned] tmp @@
kernel/sched/topology.c:761:55: sparse: expected struct sched_domain [noderef] __rcu *[noderef] __rcu child
kernel/sched/topology.c:761:55: sparse: got struct sched_domain *[assigned] tmp
kernel/sched/topology.c:774:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:774:29: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/topology.c:774:29: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:779:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:779:20: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:779:20: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:800:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *sd @@
kernel/sched/topology.c:800:13: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/topology.c:800:13: sparse: got struct sched_domain [noderef] __rcu *sd
kernel/sched/topology.c:964:70: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:964:70: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:964:70: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:993:59: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:993:59: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:993:59: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1039:57: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1039:57: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:1039:57: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1041:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sibling @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1041:25: sparse: expected struct sched_domain *sibling
kernel/sched/topology.c:1041:25: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1049:55: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1049:55: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:1049:55: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1051:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sibling @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1051:25: sparse: expected struct sched_domain *sibling
kernel/sched/topology.c:1051:25: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1121:62: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1121:62: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:1121:62: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1225:40: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1225:40: sparse: expected struct sched_domain *child
kernel/sched/topology.c:1225:40: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1361:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:1361:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:1361:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:1618:52: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:1618:52: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:1618:52: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:1728:43: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain [noderef] __rcu *child @@ got struct sched_domain *child @@
kernel/sched/topology.c:1728:43: sparse: expected struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1728:43: sparse: got struct sched_domain *child
kernel/sched/topology.c:2522:31: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain [noderef] __rcu *parent @@ got struct sched_domain *sd @@
kernel/sched/topology.c:2522:31: sparse: expected struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:2522:31: sparse: got struct sched_domain *sd
kernel/sched/topology.c:2650:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *[noderef] __rcu parent @@
kernel/sched/topology.c:2650:16: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:2650:16: sparse: got struct sched_domain [noderef] __rcu *[noderef] __rcu parent
kernel/sched/topology.c:2652:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2652:24: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:2652:24: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:2657:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2657:16: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:2657:16: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:2662:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2662:24: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:2662:24: sparse: got struct sched_domain [noderef] __rcu *parent
>> kernel/sched/topology.c:2705:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd_asym @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2705:25: sparse: expected struct sched_domain *[assigned] sd_asym
kernel/sched/topology.c:2705:25: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:2759:57: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2759:57: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:2759:57: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:2783:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2783:28: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:2783:28: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:2809:57: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2809:57: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:2809:57: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/build_utility.c: note: in included file:
kernel/sched/sched.h:2379:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2379:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2379:25: sparse: struct task_struct *
vim +2705 kernel/sched/topology.c
2679
2680 /*
2681 * For asymmetric CPU capacity, attach sched_domain_shared on the innermost
2682 * SD_ASYM_CPUCAPACITY_FULL ancestor of @cpu's base domain when that ancestor is
2683 * not an overlapping NUMA-built domain (then LLC should claim shared).
2684 *
2685 * A CPU may lack any FULL ancestor (e.g., exclusive cpuset symmetric island),
2686 * then LLC must claim shared instead.
2687 *
2688 * Note: SD_ASYM_CPUCAPACITY_FULL is only set when all CPU capacity values
2689 * are present in the domain span, so the asym domain we attach to cannot
2690 * degenerate into a single-capacity group. The relevant edge cases are instead
2691 * covered by the caveats above.
2692 *
2693 * Return true if this CPU's asym path claimed sd->shared, false otherwise.
2694 */
2695 static bool claim_asym_sched_domain_shared(struct s_data *d, int cpu)
2696 {
2697 struct sched_domain *sd = *per_cpu_ptr(d->sd, cpu);
2698 struct sched_domain *sd_asym;
2699
2700 if (!sd)
2701 return false;
2702
2703 sd_asym = sd;
2704 while (sd_asym && !(sd_asym->flags & SD_ASYM_CPUCAPACITY_FULL))
> 2705 sd_asym = sd_asym->parent;
2706
2707 if (!sd_asym || (sd_asym->flags & SD_NUMA))
2708 return false;
2709
2710 init_sched_domain_shared(d, sd_asym);
2711 return true;
2712 }
2713
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2026-05-14 13:13 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-14 13:13 kernel test robot [this message]
2026-05-14 17:17 ` [peterz-queue:sched/core 6/9] kernel/sched/topology.c:2705:25: sparse: sparse: incorrect type in assignment (different address spaces) Andrea Righi
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=202605142117.gyxGm7SY-lkp@intel.com \
--to=lkp@intel.com \
--cc=arighi@nvidia.com \
--cc=kprateek.nayak@amd.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=peterz@infradead.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.