public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
* Re: [RFC PATCH v5 8/9] sched/fair: Steal work from an overloaded CPU when CPU goes idle
       [not found] <20260320055920.2518389-9-chenjinghuang2@huawei.com>
@ 2026-03-23  0:14 ` kernel test robot
  2026-03-23  4:51 ` kernel test robot
  1 sibling, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-03-23  0:14 UTC (permalink / raw)
  To: Chen Jinghuang; +Cc: llvm, oe-kbuild-all

Hi Chen,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on v7.0-rc5]
[cannot apply to tip/sched/core peterz-queue/sched/core next-20260320]
[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/Chen-Jinghuang/sched-Provide-sparsemask-a-reduced-contention-bitmap/20260321-084706
base:   linus/master
patch link:    https://lore.kernel.org/r/20260320055920.2518389-9-chenjinghuang2%40huawei.com
patch subject: [RFC PATCH v5 8/9] sched/fair: Steal work from an overloaded CPU when CPU goes idle
config: arm-randconfig-001-20260323 (https://download.01.org/0day-ci/archive/20260323/202603230856.FTVv1O5z-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project b1cf9b0835d214bcbd0d6e8882760c07cfccb298)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260323/202603230856.FTVv1O5z-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/202603230856.FTVv1O5z-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> kernel/sched/fair.c:13272:3: warning: releasing raw_spinlock 'rq_lockp(dst_rq)' that was not held [-Wthread-safety-analysis]
    13272 |                 raw_spin_rq_unlock(dst_rq);
          |                 ^
>> kernel/sched/fair.c:13293:2: warning: raw_spinlock 'rq_lockp(dst_rq)' is not held on every path through here [-Wthread-safety-analysis]
    13293 |         local_irq_restore(rf.flags);
          |         ^
   include/linux/irqflags.h:223:8: note: expanded from macro 'local_irq_restore'
     223 |                 if (!raw_irqs_disabled_flags(flags))    \
         |                      ^
   include/linux/irqflags.h:188:13: note: expanded from macro 'raw_irqs_disabled_flags'
     188 |                 typecheck(unsigned long, flags);        \
         |                           ^
   kernel/sched/fair.c:13286:3: note: raw_spinlock acquired here
    13286 |                 raw_spin_rq_lock(dst_rq);
          |                 ^
   kernel/sched/fair.c:13310:12: error: redefinition of 'try_steal'
    13310 | static int try_steal(struct rq *dst_rq, struct rq_flags *dst_rf)
          |            ^
   kernel/sched/fair.c:5195:19: note: previous definition is here
    5195 | static inline int try_steal(struct rq *this_rq, struct rq_flags *rf)
         |                   ^
   2 warnings and 1 error generated.


vim +13272 kernel/sched/fair.c

 13250	
 13251	/*
 13252	 * Attempt to migrate a CFS task from @src_cpu to @dst_rq.  @locked indicates
 13253	 * whether @dst_rq is already locked on entry.  This function may lock or
 13254	 * unlock @dst_rq, and updates @locked to indicate the locked state on return.
 13255	 * The locking protocol is based on idle_balance().
 13256	 * Returns 1 on success and 0 on failure.
 13257	 */
 13258	static int steal_from(struct rq *dst_rq, struct rq_flags *dst_rf, bool *locked,
 13259			      int src_cpu)
 13260	{
 13261		struct task_struct *p;
 13262		struct rq_flags rf;
 13263		int stolen = 0;
 13264		int dst_cpu = dst_rq->cpu;
 13265		struct rq *src_rq = cpu_rq(src_cpu);
 13266	
 13267		if (dst_cpu == src_cpu || src_rq->cfs.h_nr_runnable < 2)
 13268			return 0;
 13269	
 13270		if (*locked) {
 13271			rq_unpin_lock(dst_rq, dst_rf);
 13272			raw_spin_rq_unlock(dst_rq);
 13273			*locked = false;
 13274		}
 13275		rq_lock_irqsave(src_rq, &rf);
 13276		update_rq_clock(src_rq);
 13277	
 13278		if (src_rq->cfs.h_nr_runnable < 2 || !cpu_active(src_cpu))
 13279			p = NULL;
 13280		else
 13281			p = detach_next_task(&src_rq->cfs, dst_rq);
 13282	
 13283		rq_unlock(src_rq, &rf);
 13284	
 13285		if (p) {
 13286			raw_spin_rq_lock(dst_rq);
 13287			rq_repin_lock(dst_rq, dst_rf);
 13288			*locked = true;
 13289			update_rq_clock(dst_rq);
 13290			attach_task(dst_rq, p);
 13291			stolen = 1;
 13292		}
 13293		local_irq_restore(rf.flags);
 13294	
 13295		return stolen;
 13296	}
 13297	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [RFC PATCH v5 8/9] sched/fair: Steal work from an overloaded CPU when CPU goes idle
       [not found] <20260320055920.2518389-9-chenjinghuang2@huawei.com>
  2026-03-23  0:14 ` [RFC PATCH v5 8/9] sched/fair: Steal work from an overloaded CPU when CPU goes idle kernel test robot
@ 2026-03-23  4:51 ` kernel test robot
  1 sibling, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-03-23  4:51 UTC (permalink / raw)
  To: Chen Jinghuang; +Cc: llvm, oe-kbuild-all

Hi Chen,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on v7.0-rc5]
[cannot apply to tip/sched/core peterz-queue/sched/core next-20260320]
[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/Chen-Jinghuang/sched-Provide-sparsemask-a-reduced-contention-bitmap/20260321-084706
base:   linus/master
patch link:    https://lore.kernel.org/r/20260320055920.2518389-9-chenjinghuang2%40huawei.com
patch subject: [RFC PATCH v5 8/9] sched/fair: Steal work from an overloaded CPU when CPU goes idle
config: riscv-allmodconfig (https://download.01.org/0day-ci/archive/20260323/202603231203.g4WzI66q-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project b1cf9b0835d214bcbd0d6e8882760c07cfccb298)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260323/202603231203.g4WzI66q-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/202603231203.g4WzI66q-lkp@intel.com/

All warnings (new ones prefixed by >>):

   kernel/sched/fair.c:13272:3: warning: releasing raw_spinlock 'rq_lockp(dst_rq)' that was not held [-Wthread-safety-analysis]
    13272 |                 raw_spin_rq_unlock(dst_rq);
          |                 ^
   kernel/sched/fair.c:13293:2: warning: raw_spinlock 'rq_lockp(dst_rq)' is not held on every path through here [-Wthread-safety-analysis]
    13293 |         local_irq_restore(rf.flags);
          |         ^
   include/linux/irqflags.h:223:8: note: expanded from macro 'local_irq_restore'
     223 |                 if (!raw_irqs_disabled_flags(flags))    \
         |                      ^
   include/linux/irqflags.h:188:13: note: expanded from macro 'raw_irqs_disabled_flags'
     188 |                 typecheck(unsigned long, flags);        \
         |                           ^
   kernel/sched/fair.c:13286:3: note: raw_spinlock acquired here
    13286 |                 raw_spin_rq_lock(dst_rq);
          |                 ^
>> kernel/sched/fair.c:13366:2: warning: raw_spinlock 'rq_lockp(this_rq)' is not held on every path through here [-Wthread-safety-analysis]
    13366 |         stolen |= (dst_rq->cfs.h_nr_runnable > 0);
          |         ^
   kernel/sched/fair.c:13363:3: note: raw_spinlock acquired here
    13363 |                 raw_spin_rq_lock(dst_rq);
          |                 ^
   3 warnings generated.


vim +13366 kernel/sched/fair.c

 13350	
 13351		/* Accept any suitable task in the LLC */
 13352	
 13353		sparsemask_for_each(overload_cpus, dst_cpu, src_cpu) {
 13354			if (steal_from(dst_rq, dst_rf, &locked, src_cpu)) {
 13355				stolen = 1;
 13356				goto out;
 13357			}
 13358		}
 13359	
 13360	out:
 13361		rcu_read_unlock();
 13362		if (!locked) {
 13363			raw_spin_rq_lock(dst_rq);
 13364			rq_repin_lock(dst_rq, dst_rf);
 13365		}
 13366		stolen |= (dst_rq->cfs.h_nr_runnable > 0);
 13367		if (dst_rq->nr_running != dst_rq->cfs.h_nr_runnable)
 13368			stolen = -1;
 13369		return stolen;
 13370	}
 13371	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-03-23  4:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20260320055920.2518389-9-chenjinghuang2@huawei.com>
2026-03-23  0:14 ` [RFC PATCH v5 8/9] sched/fair: Steal work from an overloaded CPU when CPU goes idle kernel test robot
2026-03-23  4:51 ` kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox