All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vlastimil Babka <vbabka@suse.cz>
To: kbuild test robot <fengguang.wu@intel.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: kbuild-all@01.org, linux-s390@vger.kernel.org,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Peter Zijlstra <peterz@infradead.org>
Subject: Re: [linux-next:master 1875/2100] include/linux/jump_label.h:122:2: error: implicit declaration of function 'atomic_read'
Date: Fri, 29 Jan 2016 11:28:59 +0100	[thread overview]
Message-ID: <56AB3EEB.8090808@suse.cz> (raw)
In-Reply-To: <201601291512.vqk4lpvV%fengguang.wu@intel.com>

On 01/29/2016 08:06 AM, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head:   735cfa51151aeae6df04074165aa36b42481df86
> commit: e8bd33570a656979c09ce66a11ca8864fda8ad0c [1875/2100] mm, printk: introduce new format string for flags-fix
> config: s390-allyesconfig (attached as .config)
> 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 e8bd33570a656979c09ce66a11ca8864fda8ad0c
>         # save the attached .config to linux build tree
>         make.cross ARCH=s390 
> 
> All errors (new ones prefixed by >>):
> 
>    In file included from include/linux/static_key.h:1:0,
>                     from include/linux/tracepoint-defs.h:11,
>                     from include/linux/mmdebug.h:6,
>                     from arch/s390/include/asm/cmpxchg.h:10,
>                     from arch/s390/include/asm/atomic.h:19,
>                     from include/linux/atomic.h:4,
>                     from include/linux/debug_locks.h:5,
>                     from include/linux/lockdep.h:23,
>                     from include/linux/hardirq.h:5,
>                     from include/linux/kvm_host.h:10,
>                     from arch/s390/kernel/asm-offsets.c:10:
>    include/linux/jump_label.h: In function 'static_key_count':
>>> include/linux/jump_label.h:122:2: error: implicit declaration of function 'atomic_read' [-Werror=implicit-function-declaration]
>      return atomic_read(&key->enabled);

Sigh.

I don't get it, there's "#include <linux/atomic.h>" in jump_label.h right before
it gets used. So, what implicit declaration?

BTW, do you really need to use VM_BUG_ON() and thus include mmdebug.h in
arch/s390/include/asm/cmpxchg.h ? Is that assertion really related to VM?

>      ^
>    In file included from include/linux/atomic.h:4:0,
>                     from include/linux/debug_locks.h:5,
>                     from include/linux/lockdep.h:23,
>                     from include/linux/hardirq.h:5,
>                     from include/linux/kvm_host.h:10,
>                     from arch/s390/kernel/asm-offsets.c:10:
>    arch/s390/include/asm/atomic.h: At top level:
>    arch/s390/include/asm/atomic.h:74:19: error: static declaration of 'atomic_read' follows non-static declaration
>     static inline int atomic_read(const atomic_t *v)
>                       ^
>    In file included from include/linux/static_key.h:1:0,
>                     from include/linux/tracepoint-defs.h:11,
>                     from include/linux/mmdebug.h:6,
>                     from arch/s390/include/asm/cmpxchg.h:10,
>                     from arch/s390/include/asm/atomic.h:19,
>                     from include/linux/atomic.h:4,
>                     from include/linux/debug_locks.h:5,
>                     from include/linux/lockdep.h:23,
>                     from include/linux/hardirq.h:5,
>                     from include/linux/kvm_host.h:10,
>                     from arch/s390/kernel/asm-offsets.c:10:
>    include/linux/jump_label.h:122:9: note: previous implicit declaration of 'atomic_read' was here
>      return atomic_read(&key->enabled);
>             ^
>    cc1: some warnings being treated as errors
>    make[2]: *** [arch/s390/kernel/asm-offsets.s] Error 1
>    make[2]: Target '__build' not remade because of errors.
>    make[1]: *** [prepare0] Error 2
>    make[1]: Target 'prepare' not remade because of errors.
>    make: *** [sub-make] Error 2
> 
> vim +/atomic_read +122 include/linux/jump_label.h
> 
> c0ccf6f99 Anton Blanchard 2015-04-09  106  #include <asm/jump_label.h>
> c0ccf6f99 Anton Blanchard 2015-04-09  107  #endif
> c0ccf6f99 Anton Blanchard 2015-04-09  108  
> c0ccf6f99 Anton Blanchard 2015-04-09  109  #ifndef __ASSEMBLY__
> bf5438fca Jason Baron     2010-09-17  110  
> bf5438fca Jason Baron     2010-09-17  111  enum jump_label_type {
> 76b235c6b Peter Zijlstra  2015-07-24  112  	JUMP_LABEL_NOP = 0,
> 76b235c6b Peter Zijlstra  2015-07-24  113  	JUMP_LABEL_JMP,
> bf5438fca Jason Baron     2010-09-17  114  };
> bf5438fca Jason Baron     2010-09-17  115  
> bf5438fca Jason Baron     2010-09-17  116  struct module;
> bf5438fca Jason Baron     2010-09-17  117  
> 851cf6e7d Andrew Jones    2013-08-09  118  #include <linux/atomic.h>
> ea5e9539a Mel Gorman      2014-06-04  119  
> ea5e9539a Mel Gorman      2014-06-04  120  static inline int static_key_count(struct static_key *key)
> ea5e9539a Mel Gorman      2014-06-04  121  {
> ea5e9539a Mel Gorman      2014-06-04 @122  	return atomic_read(&key->enabled);
> ea5e9539a Mel Gorman      2014-06-04  123  }
> ea5e9539a Mel Gorman      2014-06-04  124  
> bf5438fca Jason Baron     2010-09-17  125  #ifdef HAVE_JUMP_LABEL
> bf5438fca Jason Baron     2010-09-17  126  
> a1efb01fe Peter Zijlstra  2015-07-24  127  #define JUMP_TYPE_FALSE	0UL
> a1efb01fe Peter Zijlstra  2015-07-24  128  #define JUMP_TYPE_TRUE	1UL
> a1efb01fe Peter Zijlstra  2015-07-24  129  #define JUMP_TYPE_MASK	1UL
> c5905afb0 Ingo Molnar     2012-02-24  130  
> 
> :::::: The code at line 122 was first introduced by commit
> :::::: ea5e9539abf1258f23e725cb9cb25aa74efa29eb include/linux/jump_label.h: expose the reference count
> 
> :::::: TO: Mel Gorman <mgorman@suse.de>
> :::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
> 

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

       reply	other threads:[~2016-01-29 10:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <201601291512.vqk4lpvV%fengguang.wu@intel.com>
2016-01-29 10:28 ` Vlastimil Babka [this message]
2016-01-29 10:53   ` [linux-next:master 1875/2100] include/linux/jump_label.h:122:2: error: implicit declaration of function 'atomic_read' Stephen Rothwell
2016-01-29 11:25     ` Vlastimil Babka
2016-01-31 20:52       ` Stephen Rothwell
2016-01-29 11:05   ` Heiko Carstens

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=56AB3EEB.8090808@suse.cz \
    --to=vbabka@suse.cz \
    --cc=akpm@linux-foundation.org \
    --cc=fengguang.wu@intel.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=kbuild-all@01.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=sfr@canb.auug.org.au \
    /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.