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


Groups > linux.kernel > #1633364 > unrolled thread

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

Started bykbuild test robot <fengguang.wu@intel.com>
First post2017-04-30 01:40 +0200
Last post2017-04-30 05:40 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [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

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

Fromkbuild test robot <fengguang.wu@intel.com>
Date2017-04-30 01:40 +0200
Subject[rcu:dev.2017.04.28a 41/45] include/linux/notifier.h:77:21: error: field 'srcu' has incomplete type
Message-ID<tBK82-46a-7@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

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;
                        ^~~~

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

[toc] | [next] | [standalone]


#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>
Date2017-04-30 05:40 +0200
SubjectRe: [rcu:dev.2017.04.28a 41/45] include/linux/notifier.h:77:21: error: field 'srcu' has incomplete type
Message-ID<tBNSh-6sf-7@gated-at.bofh.it>
In reply to#1633364
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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web