Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1633373

Re: [rcu:dev.2017.04.28a 41/45] include/linux/notifier.h:77:21: error: field 'srcu' has incomplete type

From "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Newsgroups linux.kernel
Subject Re: [rcu:dev.2017.04.28a 41/45] include/linux/notifier.h:77:21: error: field 'srcu' has incomplete type
Date 2017-04-30 05:40 +0200
Message-ID <tBNSh-6sf-7@gated-at.bofh.it> (permalink)
References <tBK82-46a-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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 <stern@rowland.harvard.edu>
> :::::: CC: Linus Torvalds <torvalds@g5.osdl.org>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[rcu:dev.2017.04.28a 41/45] include/linux/notifier.h:77:21: error:  field 'srcu' has incomplete type kbuild test robot <fengguang.wu@intel.com> - 2017-04-30 01:40 +0200
  Re: [rcu:dev.2017.04.28a 41/45] include/linux/notifier.h:77:21:  error: field 'srcu' has incomplete type "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2017-04-30 05:40 +0200

csiph-web