public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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