* [rcu:dev.2019.03.20b 59/83] kernel/rcu/tree_plugin.h:612:8: error: 'rcu_softirq_enabled' undeclared; did you mean 'trace_softirqs_enabled'?
@ 2019-03-23 2:16 kbuild test robot
2019-03-24 23:45 ` Paul E. McKenney
0 siblings, 1 reply; 2+ messages in thread
From: kbuild test robot @ 2019-03-23 2:16 UTC (permalink / raw)
To: Sebastian Andrzej Siewior; +Cc: kbuild-all, linux-kernel, Paul E. McKenney
[-- Attachment #1: Type: text/plain, Size: 2816 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2019.03.20b
head: 6d4434b4b4df791620743178e1419de882b44c7b
commit: d0f41d341df0520e900cac03de05bbbd11abdcd9 [59/83] rcu: Enable elimination of Tree-RCU softirq processing
config: i386-randconfig-x002-201911 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
git checkout d0f41d341df0520e900cac03de05bbbd11abdcd9
# save the attached .config to linux build tree
make ARCH=i386
Note: the rcu/dev.2019.03.20b HEAD 6d4434b4b4df791620743178e1419de882b44c7b builds fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>):
In file included from kernel/rcu/tree.c:3489:0:
kernel/rcu/tree_plugin.h: In function 'rcu_read_unlock_special':
>> kernel/rcu/tree_plugin.h:612:8: error: 'rcu_softirq_enabled' undeclared (first use in this function); did you mean 'trace_softirqs_enabled'?
if (rcu_softirq_enabled)
^~~~~~~~~~~~~~~~~~~
trace_softirqs_enabled
kernel/rcu/tree_plugin.h:612:8: note: each undeclared identifier is reported only once for each function it appears in
vim +612 kernel/rcu/tree_plugin.h
588
589 /*
590 * Handle special cases during rcu_read_unlock(), such as needing to
591 * notify RCU core processing or task having blocked during the RCU
592 * read-side critical section.
593 */
594 static void rcu_read_unlock_special(struct task_struct *t)
595 {
596 unsigned long flags;
597 bool preempt_bh_were_disabled =
598 !!(preempt_count() & (PREEMPT_MASK | SOFTIRQ_MASK));
599 bool irqs_were_disabled;
600
601 /* NMI handlers cannot block and cannot safely manipulate state. */
602 if (in_nmi())
603 return;
604
605 local_irq_save(flags);
606 irqs_were_disabled = irqs_disabled_flags(flags);
607 if (preempt_bh_were_disabled || irqs_were_disabled) {
608 WRITE_ONCE(t->rcu_read_unlock_special.b.exp_hint, false);
609 /* Need to defer quiescent state until everything is enabled. */
610 if (irqs_were_disabled) {
611 /* Enabling irqs does not reschedule, so... */
> 612 if (rcu_softirq_enabled)
613 raise_softirq_irqoff(RCU_SOFTIRQ);
614 else
615 invoke_rcu_core();
616 } else {
617 /* Enabling BH or preempt does reschedule, so... */
618 set_tsk_need_resched(current);
619 set_preempt_need_resched();
620 }
621 local_irq_restore(flags);
622 return;
623 }
624 WRITE_ONCE(t->rcu_read_unlock_special.b.exp_hint, false);
625 rcu_preempt_deferred_qs_irqrestore(t, flags);
626 }
627
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 29116 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [rcu:dev.2019.03.20b 59/83] kernel/rcu/tree_plugin.h:612:8: error: 'rcu_softirq_enabled' undeclared; did you mean 'trace_softirqs_enabled'?
2019-03-23 2:16 [rcu:dev.2019.03.20b 59/83] kernel/rcu/tree_plugin.h:612:8: error: 'rcu_softirq_enabled' undeclared; did you mean 'trace_softirqs_enabled'? kbuild test robot
@ 2019-03-24 23:45 ` Paul E. McKenney
0 siblings, 0 replies; 2+ messages in thread
From: Paul E. McKenney @ 2019-03-24 23:45 UTC (permalink / raw)
To: kbuild test robot; +Cc: Sebastian Andrzej Siewior, kbuild-all, linux-kernel
On Sat, Mar 23, 2019 at 10:16:23AM +0800, kbuild test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2019.03.20b
> head: 6d4434b4b4df791620743178e1419de882b44c7b
> commit: d0f41d341df0520e900cac03de05bbbd11abdcd9 [59/83] rcu: Enable elimination of Tree-RCU softirq processing
> config: i386-randconfig-x002-201911 (attached as .config)
> compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
> reproduce:
> git checkout d0f41d341df0520e900cac03de05bbbd11abdcd9
> # save the attached .config to linux build tree
> make ARCH=i386
>
> Note: the rcu/dev.2019.03.20b HEAD 6d4434b4b4df791620743178e1419de882b44c7b builds fine.
> It only hurts bisectibility.
>
> All errors (new ones prefixed by >>):
>
> In file included from kernel/rcu/tree.c:3489:0:
> kernel/rcu/tree_plugin.h: In function 'rcu_read_unlock_special':
> >> kernel/rcu/tree_plugin.h:612:8: error: 'rcu_softirq_enabled' undeclared (first use in this function); did you mean 'trace_softirqs_enabled'?
> if (rcu_softirq_enabled)
> ^~~~~~~~~~~~~~~~~~~
> trace_softirqs_enabled
> kernel/rcu/tree_plugin.h:612:8: note: each undeclared identifier is reported only once for each function it appears in
This commit has been superseced by 132e805a28dc, which I believe has fixed
this. (Famous last words!)
Thanx, Paul
> vim +612 kernel/rcu/tree_plugin.h
>
> 588
> 589 /*
> 590 * Handle special cases during rcu_read_unlock(), such as needing to
> 591 * notify RCU core processing or task having blocked during the RCU
> 592 * read-side critical section.
> 593 */
> 594 static void rcu_read_unlock_special(struct task_struct *t)
> 595 {
> 596 unsigned long flags;
> 597 bool preempt_bh_were_disabled =
> 598 !!(preempt_count() & (PREEMPT_MASK | SOFTIRQ_MASK));
> 599 bool irqs_were_disabled;
> 600
> 601 /* NMI handlers cannot block and cannot safely manipulate state. */
> 602 if (in_nmi())
> 603 return;
> 604
> 605 local_irq_save(flags);
> 606 irqs_were_disabled = irqs_disabled_flags(flags);
> 607 if (preempt_bh_were_disabled || irqs_were_disabled) {
> 608 WRITE_ONCE(t->rcu_read_unlock_special.b.exp_hint, false);
> 609 /* Need to defer quiescent state until everything is enabled. */
> 610 if (irqs_were_disabled) {
> 611 /* Enabling irqs does not reschedule, so... */
> > 612 if (rcu_softirq_enabled)
> 613 raise_softirq_irqoff(RCU_SOFTIRQ);
> 614 else
> 615 invoke_rcu_core();
> 616 } else {
> 617 /* Enabling BH or preempt does reschedule, so... */
> 618 set_tsk_need_resched(current);
> 619 set_preempt_need_resched();
> 620 }
> 621 local_irq_restore(flags);
> 622 return;
> 623 }
> 624 WRITE_ONCE(t->rcu_read_unlock_special.b.exp_hint, false);
> 625 rcu_preempt_deferred_qs_irqrestore(t, flags);
> 626 }
> 627
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-03-24 23:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-23 2:16 [rcu:dev.2019.03.20b 59/83] kernel/rcu/tree_plugin.h:612:8: error: 'rcu_softirq_enabled' undeclared; did you mean 'trace_softirqs_enabled'? kbuild test robot
2019-03-24 23:45 ` Paul E. McKenney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox