From: kernel test robot <lkp@intel.com>
To: Chen Jinghuang <chenjinghuang2@huawei.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [RFC PATCH v5 8/9] sched/fair: Steal work from an overloaded CPU when CPU goes idle
Date: Mon, 23 Mar 2026 08:14:53 +0800 [thread overview]
Message-ID: <202603230856.FTVv1O5z-lkp@intel.com> (raw)
In-Reply-To: <20260320055920.2518389-9-chenjinghuang2@huawei.com>
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
next parent reply other threads:[~2026-03-23 0:14 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260320055920.2518389-9-chenjinghuang2@huawei.com>
2026-03-23 0:14 ` kernel test robot [this message]
2026-03-23 4:51 ` [RFC PATCH v5 8/9] sched/fair: Steal work from an overloaded CPU when CPU goes idle kernel test robot
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=202603230856.FTVv1O5z-lkp@intel.com \
--to=lkp@intel.com \
--cc=chenjinghuang2@huawei.com \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox