On Sun, Apr 30, 2017 at 07:32:17AM +0800, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git 
> dev.2017.04.28a
> head:   1205059ca5d4835e9213ff943ce3a51980718b5d
> commit: e01ef0529ed548c1b30206058c2b5eecbbc07998 [41/45] srcu: Make SRCU be 
> once again optional
> config: sparc64-allnoconfig (attached as .config)
> compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
>         wget 
> https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
> ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         git checkout e01ef0529ed548c1b30206058c2b5eecbbc07998
>         # save the attached .config to linux build tree
>         make.cross ARCH=sparc64 
> 
> All errors (new ones prefixed by >>):
> 
>    In file included from include/linux/memory_hotplug.h:6:0,
>                     from include/linux/mmzone.h:749,
>                     from include/linux/gfp.h:5,
>                     from include/linux/kmod.h:22,
>                     from include/linux/module.h:13,
>                     from init/main.c:16:
> >> include/linux/notifier.h:77:21: error: field 'srcu' has incomplete type
>      struct srcu_struct srcu;
>                         ^~~~

Hmmm...

This sort of thing has been legal for quite some time, so I am taking
the crude step of providing an empty definition for srcu_struct when
building with CONFIG_SRCU=n.

                                                        Thanx, Paul

> vim +/srcu +77 include/linux/notifier.h
> 
> e041c6834 Alan Stern    2006-03-27  61  struct atomic_notifier_head {
> e041c6834 Alan Stern    2006-03-27  62        spinlock_t lock;
> 374a8e0dc Arnd Bergmann 2010-02-24  63        struct notifier_block __rcu 
> *head;
> e041c6834 Alan Stern    2006-03-27  64  };
> e041c6834 Alan Stern    2006-03-27  65  
> e041c6834 Alan Stern    2006-03-27  66  struct blocking_notifier_head {
> e041c6834 Alan Stern    2006-03-27  67        struct rw_semaphore rwsem;
> 374a8e0dc Arnd Bergmann 2010-02-24  68        struct notifier_block __rcu 
> *head;
> e041c6834 Alan Stern    2006-03-27  69  };
> e041c6834 Alan Stern    2006-03-27  70  
> e041c6834 Alan Stern    2006-03-27  71  struct raw_notifier_head {
> 374a8e0dc Arnd Bergmann 2010-02-24  72        struct notifier_block __rcu 
> *head;
> e041c6834 Alan Stern    2006-03-27  73  };
> e041c6834 Alan Stern    2006-03-27  74  
> eabc06940 Alan Stern    2006-10-04  75  struct srcu_notifier_head {
> eabc06940 Alan Stern    2006-10-04  76        struct mutex mutex;
> eabc06940 Alan Stern    2006-10-04 @77        struct srcu_struct srcu;
> 374a8e0dc Arnd Bergmann 2010-02-24  78        struct notifier_block __rcu 
> *head;
> eabc06940 Alan Stern    2006-10-04  79  };
> eabc06940 Alan Stern    2006-10-04  80  
> e041c6834 Alan Stern    2006-03-27  81  #define 
> ATOMIC_INIT_NOTIFIER_HEAD(name) do {  \
> e041c6834 Alan Stern    2006-03-27  82                
> spin_lock_init(&(name)->lock);  \
> e041c6834 Alan Stern    2006-03-27  83                (name)->head = NULL;    
>         \
> e041c6834 Alan Stern    2006-03-27  84        } while (0)
> e041c6834 Alan Stern    2006-03-27  85  #define 
> BLOCKING_INIT_NOTIFIER_HEAD(name) do {        \
> 
> :::::: The code at line 77 was first introduced by commit
> :::::: eabc069401bcf45bcc3f19e643017bf761780aa8 [PATCH] Add SRCU-based 
> notifier chains
> 
> :::::: TO: Alan Stern <[email protected]>
> :::::: CC: Linus Torvalds <[email protected]>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


Reply via email to