[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BL1PR11MB6003439ECD3790035E99E5AF964EA@BL1PR11MB6003.namprd11.prod.outlook.com>
Date: Tue, 8 Jul 2025 14:02:57 +0000
From: "Deng, Pan" <pan.deng@...el.com>
To: lkp <lkp@...el.com>, "peterz@...radead.org" <peterz@...radead.org>,
"mingo@...nel.org" <mingo@...nel.org>
CC: "oe-kbuild-all@...ts.linux.dev" <oe-kbuild-all@...ts.linux.dev>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "Li, Tianyou"
<tianyou.li@...el.com>, "tim.c.chen@...ux.intel.com"
<tim.c.chen@...ux.intel.com>, "Chen, Yu C" <yu.c.chen@...el.com>
Subject: RE: [PATCH 3/4] sched/rt: Split root_domain->rto_count to
per-NUMA-node counters
> -----Original Message-----
> From: lkp <lkp@...el.com>
> Sent: Tuesday, July 8, 2025 1:34 PM
> To: Deng, Pan <pan.deng@...el.com>; peterz@...radead.org; mingo@...nel.org
> Cc: oe-kbuild-all@...ts.linux.dev; linux-kernel@...r.kernel.org; Li, Tianyou
> <tianyou.li@...el.com>; tim.c.chen@...ux.intel.com; Chen, Yu C
> <yu.c.chen@...el.com>; Deng, Pan <pan.deng@...el.com>
> Subject: Re: [PATCH 3/4] sched/rt: Split root_domain->rto_count to per-NUMA-
> node counters
>
> Hi Pan,
>
> kernel test robot noticed the following build warnings:
>
> [auto build test WARNING on v6.16-rc5]
> [also build test WARNING on linus/master] [cannot apply to tip/sched/core
> peterz-queue/sched/core tip/master tip/auto-latest next-20250704] [If your
> patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Pan-Deng/sched-rt-
> Optimize-cpupri_vec-layout-to-mitigate-cache-line-contention/20250707-131831
> base: v6.16-rc5
> patch link:
> https://lore.kernel.org/r/2c1e1dbacaddd881f3cca340ece1f9268029b620.175185
> 2370.git.pan.deng%40intel.com
> patch subject: [PATCH 3/4] sched/rt: Split root_domain->rto_count to per-NUMA-
> node counters
> config: loongarch-randconfig-r112-20250708 (https://download.01.org/0day-
> ci/archive/20250708/202507081317.4IdE2euZ-lkp@...el.com/config)
> compiler: loongarch64-linux-gcc (GCC) 15.1.0
> reproduce: (https://download.01.org/0day-
> ci/archive/20250708/202507081317.4IdE2euZ-lkp@...el.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@...el.com>
> | Closes:
> | https://lore.kernel.org/oe-kbuild-all/202507081317.4IdE2euZ-lkp@intel.
> | com/
>
> sparse warnings: (new ones prefixed by >>)
> kernel/sched/rt.c:1679:45: sparse: sparse: incorrect type in argument 2
> (different address spaces) @@ expected struct task_struct *p @@ got struct
> task_struct [noderef] __rcu *donor @@
> kernel/sched/rt.c:1679:45: sparse: expected struct task_struct *p
> kernel/sched/rt.c:1679:45: sparse: got struct task_struct [noderef] __rcu
> *donor
> kernel/sched/rt.c:1722:39: sparse: sparse: incorrect type in initializer (different
> address spaces) @@ expected struct task_struct *donor @@ got struct
> task_struct [noderef] __rcu *donor @@
> kernel/sched/rt.c:1722:39: sparse: expected struct task_struct *donor
> kernel/sched/rt.c:1722:39: sparse: got struct task_struct [noderef] __rcu
> *donor
> kernel/sched/rt.c:1742:64: sparse: sparse: incorrect type in argument 1
> (different address spaces) @@ expected struct task_struct *tsk @@ got
> struct task_struct [noderef] __rcu *curr @@
> kernel/sched/rt.c:1742:64: sparse: expected struct task_struct *tsk
> kernel/sched/rt.c:1742:64: sparse: got struct task_struct [noderef] __rcu
> *curr
> kernel/sched/rt.c:2084:40: sparse: sparse: incorrect type in argument 1
> (different address spaces) @@ expected struct task_struct *task @@ got
> struct task_struct [noderef] __rcu *curr @@
> kernel/sched/rt.c:2084:40: sparse: expected struct task_struct *task
> kernel/sched/rt.c:2084:40: sparse: got struct task_struct [noderef] __rcu
> *curr
> kernel/sched/rt.c:2107:13: sparse: sparse: incompatible types in comparison
> expression (different address spaces):
> kernel/sched/rt.c:2107:13: sparse: struct task_struct *
> kernel/sched/rt.c:2107:13: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/rt.c:2453:54: sparse: sparse: incorrect type in argument 1
> (different address spaces) @@ expected struct task_struct *tsk @@ got
> struct task_struct [noderef] __rcu *curr @@
> kernel/sched/rt.c:2453:54: sparse: expected struct task_struct *tsk
> kernel/sched/rt.c:2453:54: sparse: got struct task_struct [noderef] __rcu
> *curr
> kernel/sched/rt.c:2455:40: sparse: sparse: incorrect type in argument 1
> (different address spaces) @@ expected struct task_struct *p @@ got struct
> task_struct [noderef] __rcu *donor @@
> kernel/sched/rt.c:2455:40: sparse: expected struct task_struct *p
> kernel/sched/rt.c:2455:40: sparse: got struct task_struct [noderef] __rcu
> *donor
> kernel/sched/rt.c:2455:62: sparse: sparse: incorrect type in argument 1
> (different address spaces) @@ expected struct task_struct *p @@ got struct
> task_struct [noderef] __rcu *donor @@
> kernel/sched/rt.c:2455:62: sparse: expected struct task_struct *p
> kernel/sched/rt.c:2455:62: sparse: got struct task_struct [noderef] __rcu
> *donor
> kernel/sched/build_policy.c: note: in included file:
> kernel/sched/deadline.c:2717:23: sparse: sparse: incorrect type in argument 1
> (different address spaces) @@ expected struct task_struct *p @@ got struct
> task_struct [noderef] __rcu *donor @@
> kernel/sched/deadline.c:2717:23: sparse: expected struct task_struct *p
> kernel/sched/deadline.c:2717:23: sparse: got struct task_struct [noderef]
> __rcu *donor
> kernel/sched/deadline.c:2727:13: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/deadline.c:2727:13: sparse: struct task_struct *
> kernel/sched/deadline.c:2727:13: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/deadline.c:2833:25: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/deadline.c:2833:25: sparse: struct task_struct *
> kernel/sched/deadline.c:2833:25: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/deadline.c:2357:42: sparse: sparse: incorrect type in argument 2
> (different address spaces) @@ expected struct sched_dl_entity const *b @@
> got struct sched_dl_entity [noderef] __rcu * @@
> kernel/sched/deadline.c:2357:42: sparse: expected struct sched_dl_entity
> const *b
> kernel/sched/deadline.c:2357:42: sparse: got struct sched_dl_entity
> [noderef] __rcu *
> kernel/sched/deadline.c:2368:38: sparse: sparse: incorrect type in argument 1
> (different address spaces) @@ expected struct task_struct *tsk @@ got
> struct task_struct [noderef] __rcu *curr @@
> kernel/sched/deadline.c:2368:38: sparse: expected struct task_struct *tsk
> kernel/sched/deadline.c:2368:38: sparse: got struct task_struct [noderef]
> __rcu *curr
> kernel/sched/deadline.c:1262:39: sparse: sparse: incorrect type in argument 1
> (different address spaces) @@ expected struct task_struct *p @@ got struct
> task_struct [noderef] __rcu *curr @@
> kernel/sched/deadline.c:1262:39: sparse: expected struct task_struct *p
> kernel/sched/deadline.c:1262:39: sparse: got struct task_struct [noderef]
> __rcu *curr
> kernel/sched/deadline.c:1262:85: sparse: sparse: incorrect type in argument 2
> (different address spaces) @@ expected struct sched_dl_entity const *b @@
> got struct sched_dl_entity [noderef] __rcu * @@
> kernel/sched/deadline.c:1262:85: sparse: expected struct sched_dl_entity
> const *b
> kernel/sched/deadline.c:1262:85: sparse: got struct sched_dl_entity
> [noderef] __rcu *
> kernel/sched/deadline.c:1362:23: sparse: sparse: incorrect type in argument 1
> (different address spaces) @@ expected struct task_struct *p @@ got struct
> task_struct [noderef] __rcu *donor @@
> kernel/sched/deadline.c:1362:23: sparse: expected struct task_struct *p
> kernel/sched/deadline.c:1362:23: sparse: got struct task_struct [noderef]
> __rcu *donor
> kernel/sched/deadline.c:1671:31: sparse: sparse: incorrect type in argument 1
> (different address spaces) @@ expected struct task_struct *p @@ got struct
> task_struct [noderef] __rcu *curr @@
> kernel/sched/deadline.c:1671:31: sparse: expected struct task_struct *p
> kernel/sched/deadline.c:1671:31: sparse: got struct task_struct [noderef]
> __rcu *curr
> kernel/sched/deadline.c:1671:70: sparse: sparse: incorrect type in argument 2
> (different address spaces) @@ expected struct sched_dl_entity const *b @@
> got struct sched_dl_entity [noderef] __rcu * @@
> kernel/sched/deadline.c:1671:70: sparse: expected struct sched_dl_entity
> const *b
> kernel/sched/deadline.c:1671:70: sparse: got struct sched_dl_entity
> [noderef] __rcu *
> kernel/sched/deadline.c:1760:39: sparse: sparse: incorrect type in initializer
> (different address spaces) @@ expected struct task_struct *donor @@ got
> struct task_struct [noderef] __rcu *donor @@
> kernel/sched/deadline.c:1760:39: sparse: expected struct task_struct *donor
> kernel/sched/deadline.c:1760:39: sparse: got struct task_struct [noderef]
> __rcu *donor
> kernel/sched/deadline.c:2578: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/deadline.c:2578:9: sparse: expected struct sched_domain
> *[assigned] sd
> kernel/sched/deadline.c:2578:9: sparse: got struct sched_domain [noderef]
> __rcu *parent
> kernel/sched/deadline.c:2242:14: sparse: sparse: incorrect type in assignment
> (different address spaces) @@ expected struct task_struct *curr @@ got
> struct task_struct [noderef] __rcu * @@
> kernel/sched/deadline.c:2242:14: sparse: expected struct task_struct *curr
> kernel/sched/deadline.c:2242:14: sparse: got struct task_struct [noderef]
> __rcu *
> kernel/sched/deadline.c:2243:15: sparse: sparse: incorrect type in assignment
> (different address spaces) @@ expected struct task_struct *donor @@ got
> struct task_struct [noderef] __rcu * @@
> kernel/sched/deadline.c:2243:15: sparse: expected struct task_struct *donor
> kernel/sched/deadline.c:2243:15: sparse: got struct task_struct [noderef]
> __rcu *
> kernel/sched/deadline.c:2318:43: sparse: sparse: incorrect type in argument 2
> (different address spaces) @@ expected struct task_struct *p @@ got struct
> task_struct [noderef] __rcu *donor @@
> kernel/sched/deadline.c:2318:43: sparse: expected struct task_struct *p
> kernel/sched/deadline.c:2318:43: sparse: got struct task_struct [noderef]
> __rcu *donor
> kernel/sched/deadline.c:2878:38: sparse: sparse: incorrect type in argument 1
> (different address spaces) @@ expected struct task_struct *tsk @@ got
> struct task_struct [noderef] __rcu *curr @@
> kernel/sched/deadline.c:2878:38: sparse: expected struct task_struct *tsk
> kernel/sched/deadline.c:2878:38: sparse: got struct task_struct [noderef]
> __rcu *curr
> kernel/sched/deadline.c:2880:23: sparse: sparse: incorrect type in argument 1
> (different address spaces) @@ expected struct task_struct *p @@ got struct
> task_struct [noderef] __rcu *donor @@
> kernel/sched/deadline.c:2880:23: sparse: expected struct task_struct *p
> kernel/sched/deadline.c:2880:23: sparse: got struct task_struct [noderef]
> __rcu *donor
> kernel/sched/deadline.c:2882:44: sparse: sparse: incorrect type in argument 2
> (different address spaces) @@ expected struct sched_dl_entity const *b @@
> got struct sched_dl_entity [noderef] __rcu * @@
> kernel/sched/deadline.c:2882:44: sparse: expected struct sched_dl_entity
> const *b
> kernel/sched/deadline.c:2882:44: sparse: got struct sched_dl_entity
> [noderef] __rcu *
> kernel/sched/deadline.c:3071:23: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/deadline.c:3071:23: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/deadline.c:3071:23: sparse: struct task_struct *
> kernel/sched/deadline.c:3120:32: sparse: sparse: incorrect type in argument 1
> (different address spaces) @@ expected struct task_struct *p @@ got struct
> task_struct [noderef] __rcu *curr @@
> kernel/sched/build_policy.c: note: in included file:
> kernel/sched/syscalls.c:206:22: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/syscalls.c:206:22: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/syscalls.c:206:22: sparse: struct task_struct *
> kernel/sched/build_policy.c: note: in included file:
> kernel/sched/sched.h:2276:25: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/sched.h:2276:25: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/sched.h:2276:25: sparse: struct task_struct *
> kernel/sched/sched.h:2276:25: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/sched.h:2276:25: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/sched.h:2276:25: sparse: struct task_struct *
> kernel/sched/sched.h:2287:26: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/sched.h:2287:26: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/sched.h:2287:26: sparse: struct task_struct *
> kernel/sched/build_policy.c: note: in included file:
> kernel/sched/rt.c:2413:45: sparse: sparse: dereference of noderef expression
> kernel/sched/build_policy.c: note: in included file:
> >> kernel/sched/sched.h:2627:35: sparse: sparse: incorrect type in initializer
This warning is not about the change we made, @lkp, could you please check it?
> (different address spaces) @@ expected struct task_struct *p @@ got struct
> task_struct [noderef] __rcu *donor @@
> kernel/sched/build_policy.c: note: in included file:
> kernel/sched/rt.c:2456:32: sparse: sparse: dereference of noderef expression
> kernel/sched/rt.c:2457:32: sparse: sparse: dereference of noderef expression
> kernel/sched/build_policy.c: note: in included file:
> kernel/sched/sched.h:2276:25: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/sched.h:2276:25: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/sched.h:2276:25: sparse: struct task_struct *
> kernel/sched/sched.h:2287:26: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/sched.h:2287:26: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/sched.h:2287:26: sparse: struct task_struct *
> kernel/sched/sched.h:2276:25: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/sched.h:2276:25: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/sched.h:2276:25: sparse: struct task_struct *
> kernel/sched/sched.h:2276:25: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/sched.h:2276:25: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/sched.h:2276:25: sparse: struct task_struct *
> kernel/sched/sched.h:2287:26: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/sched.h:2287:26: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/sched.h:2287:26: sparse: struct task_struct *
> kernel/sched/sched.h:2287:26: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/sched.h:2287:26: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/sched.h:2287:26: sparse: struct task_struct *
> kernel/sched/sched.h:2476:9: sparse: sparse: incompatible types in comparison
> expression (different address spaces):
> kernel/sched/sched.h:2476:9: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/sched.h:2476:9: sparse: struct task_struct *
> kernel/sched/sched.h:2287:26: sparse: sparse: incompatible types in
> comparison expression (different address spaces):
> kernel/sched/sched.h:2287:26: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/sched.h:2287:26: sparse: struct task_struct *
> kernel/sched/sched.h:2476:9: sparse: sparse: incompatible types in comparison
> expression (different address spaces):
> kernel/sched/sched.h:2476:9: sparse: struct task_struct [noderef] __rcu *
> kernel/sched/sched.h:2476:9: sparse: struct task_struct *
> kernel/sched/build_policy.c: note: in included file:
> kernel/sched/syscalls.c:1296:6: sparse: sparse: context imbalance in
> 'sched_getaffinity' - different lock contexts for basic block
> kernel/sched/build_policy.c: note: in included file:
> kernel/sched/rt.c:1767:15: sparse: sparse: dereference of noderef expression
>
> vim +2627 kernel/sched/sched.h
>
> 04746ed80bcf31 Ingo Molnar 2024-04-07 2624
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2625 static inline struct
> task_struct *get_push_task(struct rq *rq)
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2626 {
> af0c8b2bf67b25 Peter Zijlstra 2024-10-09 @2627 struct task_struct *p =
> rq->donor;
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2628
> 5cb9eaa3d274f7 Peter Zijlstra 2020-11-17 2629
> lockdep_assert_rq_held(rq);
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2630
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2631 if (rq->push_busy)
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2632 return NULL;
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2633
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2634 if (p->nr_cpus_allowed
> == 1)
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2635 return NULL;
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2636
> e681dcbaa4b284 Sebastian Andrzej Siewior 2021-08-26 2637 if (p-
> >migration_disabled)
> e681dcbaa4b284 Sebastian Andrzej Siewior 2021-08-26 2638 return
> NULL;
> e681dcbaa4b284 Sebastian Andrzej Siewior 2021-08-26 2639
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2640 rq->push_busy = true;
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2641 return
> get_task_struct(p);
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2642 }
> a7c81556ec4d34 Peter Zijlstra 2020-09-28 2643
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists