tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.hotplug
head:   0e5de16e9e45b4d853a31761fd74ff56998169a1
commit: 5b7fb17c566567d3470f3651dbd6a18b4875f222 [59/66] rcu: Convert rcutree 
to hotplug state machine
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
        wget 
https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
 -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 5b7fb17c566567d3470f3651dbd6a18b4875f222
        # save the attached .config to linux build tree
        make.cross ARCH=xtensa 

All errors (new ones prefixed by >>):

   In file included from kernel/cpu.c:26:0:
>> include/linux/rcutree.h:42:20: error: redefinition of 
>> 'rcu_virt_note_context_switch'
    static inline void rcu_virt_note_context_switch(int cpu)
                       ^
   In file included from include/linux/rcupdate.h:439:0,
                    from include/linux/rculist.h:10,
                    from include/linux/dcache.h:6,
                    from include/linux/fs.h:7,
                    from include/linux/proc_fs.h:8,
                    from kernel/cpu.c:6:
   include/linux/rcutiny.h:100:20: note: previous definition of 
'rcu_virt_note_context_switch' was here
    static inline void rcu_virt_note_context_switch(int cpu)
                       ^
   In file included from kernel/cpu.c:26:0:
>> include/linux/rcutree.h:69:20: error: redefinition of 
>> 'synchronize_rcu_bh_expedited'
    static inline void synchronize_rcu_bh_expedited(void)
                       ^
   In file included from include/linux/rcupdate.h:439:0,
                    from include/linux/rculist.h:10,
                    from include/linux/dcache.h:6,
                    from include/linux/fs.h:7,
                    from include/linux/proc_fs.h:8,
                    from kernel/cpu.c:6:
   include/linux/rcutiny.h:75:20: note: previous definition of 
'synchronize_rcu_bh_expedited' was here
    static inline void synchronize_rcu_bh_expedited(void)
                       ^

vim +/rcu_virt_note_context_switch +42 include/linux/rcutree.h

64db4cff Paul E. McKenney 2008-12-18  36  
29ce8310 Gleb Natapov     2011-05-04  37  /*
29ce8310 Gleb Natapov     2011-05-04  38   * Note a virtualization-based 
context switch.  This is simply a
29ce8310 Gleb Natapov     2011-05-04  39   * wrapper around 
rcu_note_context_switch(), which allows TINY_RCU
46a5d164 Paul E. McKenney 2015-10-07  40   * to save a few bytes. The caller 
must have disabled interrupts.
29ce8310 Gleb Natapov     2011-05-04  41   */
29ce8310 Gleb Natapov     2011-05-04 @42  static inline void 
rcu_virt_note_context_switch(int cpu)
29ce8310 Gleb Natapov     2011-05-04  43  {
38200cf2 Paul E. McKenney 2014-10-21  44        rcu_note_context_switch();
29ce8310 Gleb Natapov     2011-05-04  45  }
29ce8310 Gleb Natapov     2011-05-04  46  
584dc4ce Teodora Baluta   2013-11-11  47  void synchronize_rcu_bh(void);
584dc4ce Teodora Baluta   2013-11-11  48  void 
synchronize_sched_expedited(void);
584dc4ce Teodora Baluta   2013-11-11  49  void synchronize_rcu_expedited(void);
03b042bf Paul E. McKenney 2009-06-25  50  
b6a4ae76 Boqun Feng       2015-07-29  51  void kfree_call_rcu(struct rcu_head 
*head, rcu_callback_t func);
486e2593 Paul E. McKenney 2012-01-06  52  
236fefaf Paul E. McKenney 2012-01-31  53  /**
236fefaf Paul E. McKenney 2012-01-31  54   * synchronize_rcu_bh_expedited - 
Brute-force RCU-bh grace period
236fefaf Paul E. McKenney 2012-01-31  55   *
236fefaf Paul E. McKenney 2012-01-31  56   * Wait for an RCU-bh grace period to 
elapse, but use a "big hammer"
236fefaf Paul E. McKenney 2012-01-31  57   * approach to force the grace period 
to end quickly.  This consumes
236fefaf Paul E. McKenney 2012-01-31  58   * significant time on all CPUs and 
is unfriendly to real-time workloads,
236fefaf Paul E. McKenney 2012-01-31  59   * so is thus not recommended for any 
sort of common-case code.  In fact,
236fefaf Paul E. McKenney 2012-01-31  60   * if you are using 
synchronize_rcu_bh_expedited() in a loop, please
236fefaf Paul E. McKenney 2012-01-31  61   * restructure your code to batch 
your updates, and then use a single
236fefaf Paul E. McKenney 2012-01-31  62   * synchronize_rcu_bh() instead.
236fefaf Paul E. McKenney 2012-01-31  63   *
236fefaf Paul E. McKenney 2012-01-31  64   * Note that it is illegal to call 
this function while holding any lock
236fefaf Paul E. McKenney 2012-01-31  65   * that is acquired by a CPU-hotplug 
notifier.  And yes, it is also illegal
236fefaf Paul E. McKenney 2012-01-31  66   * to call this function from a 
CPU-hotplug notifier.  Failing to observe
236fefaf Paul E. McKenney 2012-01-31  67   * these restriction will result in 
deadlock.
236fefaf Paul E. McKenney 2012-01-31  68   */
03b042bf Paul E. McKenney 2009-06-25 @69  static inline void 
synchronize_rcu_bh_expedited(void)
64db4cff Paul E. McKenney 2008-12-18  70  {
03b042bf Paul E. McKenney 2009-06-25  71        synchronize_sched_expedited();
64db4cff Paul E. McKenney 2008-12-18  72  }

:::::: The code at line 42 was first introduced by commit
:::::: 29ce831000081dd757d3116bf774aafffc4b6b20 rcu: provide 
rcu_virt_note_context_switch() function.

:::::: TO: Gleb Natapov <g...@redhat.com>
:::::: CC: Paul E. McKenney <paul...@linux.vnet.ibm.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: Binary data

Reply via email to