From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [RFC][PATCH 4/7] smp: Optimize send_call_function_single_ipi()
Date: Wed, 27 May 2020 15:01:05 +0800 [thread overview]
Message-ID: <202005271422.6VSuU83P%lkp@intel.com> (raw)
In-Reply-To: <20200526161907.953304789@infradead.org>
[-- Attachment #1: Type: text/plain, Size: 4033 bytes --]
Hi Peter,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on tip/sched/core]
[also build test ERROR on tip/auto-latest next-20200526]
[cannot apply to linus/master linux/master v5.7-rc7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Peter-Zijlstra/Fix-the-scheduler-IPI-mess/20200527-010828
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 2ebb17717550607bcd85fb8cf7d24ac870e9d762
config: i386-tinyconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
kernel/sched/idle.c: In function 'do_idle':
>> kernel/sched/idle.c:292:2: error: implicit declaration of function 'flush_smp_call_function_from_idle' [-Werror=implicit-function-declaration]
292 | flush_smp_call_function_from_idle();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/flush_smp_call_function_from_idle +292 kernel/sched/idle.c
225
226 /*
227 * Generic idle loop implementation
228 *
229 * Called with polling cleared.
230 */
231 static void do_idle(void)
232 {
233 int cpu = smp_processor_id();
234 /*
235 * If the arch has a polling bit, we maintain an invariant:
236 *
237 * Our polling bit is clear if we're not scheduled (i.e. if rq->curr !=
238 * rq->idle). This means that, if rq->idle has the polling bit set,
239 * then setting need_resched is guaranteed to cause the CPU to
240 * reschedule.
241 */
242
243 __current_set_polling();
244 tick_nohz_idle_enter();
245
246 while (!need_resched()) {
247 rmb();
248
249 local_irq_disable();
250
251 if (cpu_is_offline(cpu)) {
252 tick_nohz_idle_stop_tick();
253 cpuhp_report_idle_dead();
254 arch_cpu_idle_dead();
255 }
256
257 arch_cpu_idle_enter();
258
259 /*
260 * In poll mode we reenable interrupts and spin. Also if we
261 * detected in the wakeup from idle path that the tick
262 * broadcast device expired for us, we don't want to go deep
263 * idle as we know that the IPI is going to arrive right away.
264 */
265 if (cpu_idle_force_poll || tick_check_broadcast_expired()) {
266 tick_nohz_idle_restart_tick();
267 cpu_idle_poll();
268 } else {
269 cpuidle_idle_call();
270 }
271 arch_cpu_idle_exit();
272 }
273
274 /*
275 * Since we fell out of the loop above, we know TIF_NEED_RESCHED must
276 * be set, propagate it into PREEMPT_NEED_RESCHED.
277 *
278 * This is required because for polling idle loops we will not have had
279 * an IPI to fold the state for us.
280 */
281 preempt_set_need_resched();
282 tick_nohz_idle_exit();
283 __current_clr_polling();
284
285 /*
286 * We promise to call sched_ttwu_pending() and reschedule if
287 * need_resched() is set while polling is set. That means that clearing
288 * polling needs to be visible before doing these things.
289 */
290 smp_mb__after_atomic();
291
> 292 flush_smp_call_function_from_idle();
293 sched_ttwu_pending();
294 schedule_idle();
295
296 if (unlikely(klp_patch_pending(current)))
297 klp_update_patch_state(current);
298 }
299
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 7244 bytes --]
next prev parent reply other threads:[~2020-05-27 7:01 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-26 16:10 [RFC][PATCH 0/7] Fix the scheduler-IPI mess Peter Zijlstra
2020-05-26 16:10 ` [RFC][PATCH 1/7] sched: Fix smp_call_function_single_async() usage for ILB Peter Zijlstra
2020-05-26 23:56 ` Frederic Weisbecker
2020-05-27 10:23 ` Vincent Guittot
2020-05-27 11:28 ` Frederic Weisbecker
2020-05-27 12:07 ` Vincent Guittot
2020-05-29 15:26 ` Valentin Schneider
2020-06-01 9:52 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2020-06-01 11:40 ` Frederic Weisbecker
2020-05-26 16:10 ` [RFC][PATCH 2/7] smp: Optimize flush_smp_call_function_queue() Peter Zijlstra
2020-05-28 12:28 ` Frederic Weisbecker
2020-06-01 9:52 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2020-05-26 16:11 ` [RFC][PATCH 3/7] smp: Move irq_work_run() out of flush_smp_call_function_queue() Peter Zijlstra
2020-05-29 13:04 ` Frederic Weisbecker
2020-06-01 9:52 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2020-05-26 16:11 ` [RFC][PATCH 4/7] smp: Optimize send_call_function_single_ipi() Peter Zijlstra
2020-05-27 7:01 ` kbuild test robot [this message]
2020-05-27 9:56 ` Peter Zijlstra
2020-05-27 10:15 ` Peter Zijlstra
2020-05-27 15:56 ` Paul E. McKenney
2020-05-27 16:35 ` Peter Zijlstra
2020-05-27 17:12 ` Peter Zijlstra
2020-05-27 19:39 ` Paul E. McKenney
2020-05-28 1:35 ` Joel Fernandes
2020-05-28 8:59 ` [tip: core/rcu] rcu: Allow for smp_call_function() running callbacks from idle tip-bot2 for Peter Zijlstra
2021-01-21 16:56 ` [RFC][PATCH 4/7] smp: Optimize send_call_function_single_ipi() Peter Zijlstra
2021-01-22 0:20 ` Paul E. McKenney
2021-01-22 8:31 ` Peter Zijlstra
2021-01-22 15:35 ` Paul E. McKenney
2020-05-29 1:19 ` kbuild test robot
2020-05-29 11:18 ` Peter Zijlstra
2020-05-30 1:07 ` Philip Li
2020-05-29 13:01 ` Frederic Weisbecker
2020-06-01 9:52 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2020-05-26 16:11 ` [RFC][PATCH 5/7] irq_work, smp: Allow irq_work on call_single_queue Peter Zijlstra
2020-05-28 23:40 ` Frederic Weisbecker
2020-05-29 13:36 ` Peter Zijlstra
2020-06-05 9:37 ` Peter Zijlstra
2020-06-05 15:02 ` Frederic Weisbecker
2020-06-05 16:17 ` Peter Zijlstra
2020-06-05 15:24 ` Kees Cook
2020-06-10 13:24 ` Frederic Weisbecker
2020-06-01 9:52 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2020-05-26 16:11 ` [RFC][PATCH 6/7] sched: Add rq::ttwu_pending Peter Zijlstra
2020-06-01 9:52 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2020-05-26 16:11 ` [RFC][PATCH 7/7] sched: Replace rq::wake_list Peter Zijlstra
2020-05-29 15:10 ` Valdis Klētnieks
2020-06-01 9:52 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2020-06-02 15:16 ` Frederic Weisbecker
2020-06-04 14:18 ` [RFC][PATCH 7/7] " Guenter Roeck
2020-06-05 0:24 ` Eric Biggers
2020-06-05 7:41 ` Peter Zijlstra
2020-06-05 16:15 ` Eric Biggers
2020-06-06 23:13 ` Guenter Roeck
2020-06-09 20:21 ` Eric Biggers
2020-06-09 21:25 ` Guenter Roeck
2020-06-09 21:38 ` Eric Biggers
2020-06-09 22:06 ` Peter Zijlstra
2020-06-09 23:03 ` Guenter Roeck
2020-06-10 9:09 ` Peter Zijlstra
2020-06-18 17:57 ` Steven Rostedt
2020-06-18 19:06 ` Guenter Roeck
2020-06-09 22:07 ` Peter Zijlstra
2020-06-05 8:10 ` Peter Zijlstra
2020-06-05 13:33 ` Guenter Roeck
2020-06-05 14:09 ` Peter Zijlstra
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=202005271422.6VSuU83P%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.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.