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: .config.gz
Description: application/gzip

Reply via email to