All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: kbuild test robot <fengguang.wu@intel.com>
Cc: kbuild-all@01.org, linux-kernel@vger.kernel.org
Subject: Re: [rcu:dev.2017.05.04c 87/92] include/linux/spinlock_api_smp.h:160:2: note: in expansion of macro 'local_irq_restore'
Date: Sat, 6 May 2017 09:29:12 -0700	[thread overview]
Message-ID: <20170506162912.GQ3956@linux.vnet.ibm.com> (raw)
In-Reply-To: <201705062131.6wsdybZj%fengguang.wu@intel.com>

On Sat, May 06, 2017 at 09:33:37PM +0800, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2017.05.04c
> head:   b015d142a08cdd2b69b9a59dd664a14a64e383bb
> commit: 7683511c453ce2bb1b7d30fde281ecdacca04f6b [87/92] rcu: Move ktime needs to rcutiny.h and remove ktime.h from rcupdate.h
> config: sparc64-allmodconfig (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 7683511c453ce2bb1b7d30fde281ecdacca04f6b
>         # save the attached .config to linux build tree
>         make.cross ARCH=sparc64 
> 
> All warnings (new ones prefixed by >>):

I believe that this one is fixed by 2b51535e5469 ("rcu: Refactor #includes
from include/linux/rcupdate.h"), which includes compiler.h.

The earlier reports were -very- helpful, however!  Some day I am going
to have to get cross-compilation set up on my systems, but in the
meantime...  ;-)

								Thanx, Paul

>    In file included from arch/sparc/include/asm/irqflags.h:4:0,
>                     from include/linux/irqflags.h:15,
>                     from include/linux/rcupdate.h:36,
>                     from net/ipv4/tcp_metrics.c:1:
>    arch/sparc/include/asm/irqflags_64.h:17:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'unsigned'
>     static inline notrace unsigned long arch_local_save_flags(void)
>                           ^~~~~~~~
>    arch/sparc/include/asm/irqflags_64.h:29:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
>     static inline notrace void arch_local_irq_restore(unsigned long flags)
>                           ^~~~
>    arch/sparc/include/asm/irqflags_64.h:39:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
>     static inline notrace void arch_local_irq_disable(void)
>                           ^~~~
>    arch/sparc/include/asm/irqflags_64.h:49:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
>     static inline notrace void arch_local_irq_enable(void)
>                           ^~~~
>    arch/sparc/include/asm/irqflags_64.h:59:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int'
>     static inline notrace int arch_irqs_disabled_flags(unsigned long flags)
>                           ^~~
>    arch/sparc/include/asm/irqflags_64.h:64:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int'
>     static inline notrace int arch_irqs_disabled(void)
>                           ^~~
>    arch/sparc/include/asm/irqflags_64.h:69:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'unsigned'
>     static inline notrace unsigned long arch_local_irq_save(void)
>                           ^~~~~~~~
>    In file included from include/linux/rcupdate.h:36:0,
>                     from net/ipv4/tcp_metrics.c:1:
>    include/asm-generic/cmpxchg-local.h: In function '__cmpxchg_local_generic':
>    include/linux/irqflags.h:64:11: error: implicit declaration of function 'arch_local_irq_save' [-Werror=implicit-function-declaration]
>       flags = arch_local_irq_save();  \
>               ^
>    include/asm-generic/cmpxchg-local.h:25:2: note: in expansion of macro 'raw_local_irq_save'
>      raw_local_irq_save(flags);
>      ^~~~~~~~~~~~~~~~~~
>    include/linux/irqflags.h:69:3: error: implicit declaration of function 'arch_local_irq_restore' [-Werror=implicit-function-declaration]
>       arch_local_irq_restore(flags);  \
>       ^
>    include/asm-generic/cmpxchg-local.h:46:2: note: in expansion of macro 'raw_local_irq_restore'
>      raw_local_irq_restore(flags);
>      ^~~~~~~~~~~~~~~~~~~~~
>    include/linux/spinlock_api_smp.h: In function '__raw_spin_lock_irq':
>    include/linux/irqflags.h:59:34: error: implicit declaration of function 'arch_local_irq_disable' [-Werror=implicit-function-declaration]
>     #define raw_local_irq_disable()  arch_local_irq_disable()
>                                      ^
>    include/linux/irqflags.h:92:7: note: in expansion of macro 'raw_local_irq_disable'
>      do { raw_local_irq_disable(); trace_hardirqs_off(); } while (0)
>           ^~~~~~~~~~~~~~~~~~~~~
>    include/linux/spinlock_api_smp.h:126:2: note: in expansion of macro 'local_irq_disable'
>      local_irq_disable();
>      ^~~~~~~~~~~~~~~~~
>    include/linux/spinlock_api_smp.h: In function '__raw_spin_unlock_irqrestore':
>    include/linux/irqflags.h:79:3: error: implicit declaration of function 'arch_irqs_disabled_flags' [-Werror=implicit-function-declaration]
>       arch_irqs_disabled_flags(flags); \
>       ^
>    include/linux/irqflags.h:102:7: note: in expansion of macro 'raw_irqs_disabled_flags'
>       if (raw_irqs_disabled_flags(flags)) { \
>           ^~~~~~~~~~~~~~~~~~~~~~~
> >> include/linux/spinlock_api_smp.h:160:2: note: in expansion of macro 'local_irq_restore'
>      local_irq_restore(flags);
>      ^~~~~~~~~~~~~~~~~
>    include/linux/spinlock_api_smp.h: In function '__raw_spin_unlock_irq':
>    include/linux/irqflags.h:60:33: error: implicit declaration of function 'arch_local_irq_enable' [-Werror=implicit-function-declaration]
>     #define raw_local_irq_enable()  arch_local_irq_enable()
>                                     ^
>    include/linux/irqflags.h:90:28: note: in expansion of macro 'raw_local_irq_enable'
>      do { trace_hardirqs_on(); raw_local_irq_enable(); } while (0)
>                                ^~~~~~~~~~~~~~~~~~~~
>    include/linux/spinlock_api_smp.h:168:2: note: in expansion of macro 'local_irq_enable'
>      local_irq_enable();
>      ^~~~~~~~~~~~~~~~
>    In file included from arch/sparc/include/asm/bug.h:20:0,
>                     from include/linux/bug.h:4,
>                     from include/linux/thread_info.h:11,
>                     from include/asm-generic/preempt.h:4,
>                     from ./arch/sparc/include/generated/asm/preempt.h:1,
>                     from include/linux/preempt.h:80,
>                     from include/linux/rcupdate.h:37,
>                     from net/ipv4/tcp_metrics.c:1:
>    include/linux/dma-mapping.h: In function 'dma_free_attrs':
>    include/linux/irqflags.h:74:11: error: implicit declaration of function 'arch_local_save_flags' [-Werror=implicit-function-declaration]
>       flags = arch_local_save_flags(); \
>               ^
>    include/asm-generic/bug.h:92:25: note: in definition of macro 'WARN_ON'
>      int __ret_warn_on = !!(condition);    \
>                             ^~~~~~~~~
>    include/linux/irqflags.h:142:3: note: in expansion of macro 'raw_local_save_flags'
>       raw_local_save_flags(_flags);  \
>       ^~~~~~~~~~~~~~~~~~~~
>    include/linux/dma-mapping.h:505:10: note: in expansion of macro 'irqs_disabled'
>      WARN_ON(irqs_disabled());
>              ^~~~~~~~~~~~~
>    cc1: some warnings being treated as errors
> --
>    In file included from arch/sparc/include/asm/irqflags.h:4:0,
>                     from include/linux/irqflags.h:15,
>                     from include/linux/rcupdate.h:36,
>                     from lib/assoc_array.c:14:
>    arch/sparc/include/asm/irqflags_64.h:17:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'unsigned'
>     static inline notrace unsigned long arch_local_save_flags(void)
>                           ^~~~~~~~
>    arch/sparc/include/asm/irqflags_64.h:29:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
>     static inline notrace void arch_local_irq_restore(unsigned long flags)
>                           ^~~~
>    arch/sparc/include/asm/irqflags_64.h:39:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
>     static inline notrace void arch_local_irq_disable(void)
>                           ^~~~
>    arch/sparc/include/asm/irqflags_64.h:49:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
>     static inline notrace void arch_local_irq_enable(void)
>                           ^~~~
>    arch/sparc/include/asm/irqflags_64.h:59:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int'
>     static inline notrace int arch_irqs_disabled_flags(unsigned long flags)
>                           ^~~
>    arch/sparc/include/asm/irqflags_64.h:64:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int'
>     static inline notrace int arch_irqs_disabled(void)
>                           ^~~
>    arch/sparc/include/asm/irqflags_64.h:69:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'unsigned'
>     static inline notrace unsigned long arch_local_irq_save(void)
>                           ^~~~~~~~
>    In file included from include/linux/rcupdate.h:36:0,
>                     from lib/assoc_array.c:14:
>    include/asm-generic/cmpxchg-local.h: In function '__cmpxchg_local_generic':
>    include/linux/irqflags.h:64:11: error: implicit declaration of function 'arch_local_irq_save' [-Werror=implicit-function-declaration]
>       flags = arch_local_irq_save();  \
>               ^
>    include/asm-generic/cmpxchg-local.h:25:2: note: in expansion of macro 'raw_local_irq_save'
>      raw_local_irq_save(flags);
>      ^~~~~~~~~~~~~~~~~~
>    include/linux/irqflags.h:69:3: error: implicit declaration of function 'arch_local_irq_restore' [-Werror=implicit-function-declaration]
>       arch_local_irq_restore(flags);  \
>       ^
>    include/asm-generic/cmpxchg-local.h:46:2: note: in expansion of macro 'raw_local_irq_restore'
>      raw_local_irq_restore(flags);
>      ^~~~~~~~~~~~~~~~~~~~~
>    In file included from include/linux/rcupdate.h:36:0,
>                     from lib/assoc_array.c:14:
>    include/linux/spinlock_api_smp.h: In function '__raw_spin_lock_irq':
>    include/linux/irqflags.h:59:34: error: implicit declaration of function 'arch_local_irq_disable' [-Werror=implicit-function-declaration]
>     #define raw_local_irq_disable()  arch_local_irq_disable()
>                                      ^
>    include/linux/irqflags.h:92:7: note: in expansion of macro 'raw_local_irq_disable'
>      do { raw_local_irq_disable(); trace_hardirqs_off(); } while (0)
>           ^~~~~~~~~~~~~~~~~~~~~
>    include/linux/spinlock_api_smp.h:126:2: note: in expansion of macro 'local_irq_disable'
>      local_irq_disable();
>      ^~~~~~~~~~~~~~~~~
>    include/linux/spinlock_api_smp.h: In function '__raw_spin_unlock_irqrestore':
>    include/linux/irqflags.h:79:3: error: implicit declaration of function 'arch_irqs_disabled_flags' [-Werror=implicit-function-declaration]
>       arch_irqs_disabled_flags(flags); \
>       ^
>    include/linux/irqflags.h:102:7: note: in expansion of macro 'raw_irqs_disabled_flags'
>       if (raw_irqs_disabled_flags(flags)) { \
>           ^~~~~~~~~~~~~~~~~~~~~~~
> >> include/linux/spinlock_api_smp.h:160:2: note: in expansion of macro 'local_irq_restore'
>      local_irq_restore(flags);
>      ^~~~~~~~~~~~~~~~~
>    include/linux/spinlock_api_smp.h: In function '__raw_spin_unlock_irq':
>    include/linux/irqflags.h:60:33: error: implicit declaration of function 'arch_local_irq_enable' [-Werror=implicit-function-declaration]
>     #define raw_local_irq_enable()  arch_local_irq_enable()
>                                     ^
>    include/linux/irqflags.h:90:28: note: in expansion of macro 'raw_local_irq_enable'
>      do { trace_hardirqs_on(); raw_local_irq_enable(); } while (0)
>                                ^~~~~~~~~~~~~~~~~~~~
>    include/linux/spinlock_api_smp.h:168:2: note: in expansion of macro 'local_irq_enable'
>      local_irq_enable();
>      ^~~~~~~~~~~~~~~~
>    cc1: some warnings being treated as errors
> 
> vim +/local_irq_restore +160 include/linux/spinlock_api_smp.h
> 
> 69d0ee73 Heiko Carstens  2009-08-31  144  }
> 69d0ee73 Heiko Carstens  2009-08-31  145  
> ae58403f Chen Gang       2013-06-19  146  #endif /* !CONFIG_GENERIC_LOCKBREAK || CONFIG_DEBUG_LOCK_ALLOC */
> 69d0ee73 Heiko Carstens  2009-08-31  147  
> 9c1721aa Thomas Gleixner 2009-12-03  148  static inline void __raw_spin_unlock(raw_spinlock_t *lock)
> 69d0ee73 Heiko Carstens  2009-08-31  149  {
> 69d0ee73 Heiko Carstens  2009-08-31  150  	spin_release(&lock->dep_map, 1, _RET_IP_);
> 9828ea9d Thomas Gleixner 2009-12-03  151  	do_raw_spin_unlock(lock);
> 69d0ee73 Heiko Carstens  2009-08-31  152  	preempt_enable();
> 69d0ee73 Heiko Carstens  2009-08-31  153  }
> 69d0ee73 Heiko Carstens  2009-08-31  154  
> 9c1721aa Thomas Gleixner 2009-12-03  155  static inline void __raw_spin_unlock_irqrestore(raw_spinlock_t *lock,
> 69d0ee73 Heiko Carstens  2009-08-31  156  					    unsigned long flags)
> 69d0ee73 Heiko Carstens  2009-08-31  157  {
> 69d0ee73 Heiko Carstens  2009-08-31  158  	spin_release(&lock->dep_map, 1, _RET_IP_);
> 9828ea9d Thomas Gleixner 2009-12-03  159  	do_raw_spin_unlock(lock);
> 69d0ee73 Heiko Carstens  2009-08-31 @160  	local_irq_restore(flags);
> 69d0ee73 Heiko Carstens  2009-08-31  161  	preempt_enable();
> 69d0ee73 Heiko Carstens  2009-08-31  162  }
> 69d0ee73 Heiko Carstens  2009-08-31  163  
> 9c1721aa Thomas Gleixner 2009-12-03  164  static inline void __raw_spin_unlock_irq(raw_spinlock_t *lock)
> 69d0ee73 Heiko Carstens  2009-08-31  165  {
> 69d0ee73 Heiko Carstens  2009-08-31  166  	spin_release(&lock->dep_map, 1, _RET_IP_);
> 9828ea9d Thomas Gleixner 2009-12-03  167  	do_raw_spin_unlock(lock);
> 69d0ee73 Heiko Carstens  2009-08-31  168  	local_irq_enable();
> 
> :::::: The code at line 160 was first introduced by commit
> :::::: 69d0ee7377eef808e34ba5542b554ec97244b871 locking: Move spinlock function bodies to header file
> 
> :::::: TO: Heiko Carstens <heiko.carstens@de.ibm.com>
> :::::: CC: Ingo Molnar <mingo@elte.hu>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

      reply	other threads:[~2017-05-06 16:29 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-06 13:33 [rcu:dev.2017.05.04c 87/92] include/linux/spinlock_api_smp.h:160:2: note: in expansion of macro 'local_irq_restore' kbuild test robot
2017-05-06 16:29 ` Paul E. McKenney [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170506162912.GQ3956@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=fengguang.wu@intel.com \
    --cc=kbuild-all@01.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.