From: kbuild test robot <lkp@intel.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: kbuild-all@01.org, Tejun Heo <tj@kernel.org>,
Christoph Lameter <cl@linux.com>,
Nicholas Piggin <npiggin@gmail.com>,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH] percpu: improve generic percpu modify-return implementation
Date: Wed, 21 Sep 2016 18:30:41 +0800 [thread overview]
Message-ID: <201609211832.ExVaoD7t%fengguang.wu@intel.com> (raw)
In-Reply-To: <20160921085137.862-1-npiggin@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 7000 bytes --]
Hi Nicholas,
[auto build test WARNING on asm-generic/master]
[also build test WARNING on v4.8-rc7 next-20160920]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]
url: https://github.com/0day-ci/linux/commits/Nicholas-Piggin/percpu-improve-generic-percpu-modify-return-implementation/20160921-170016
base: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git master
config: i386-randconfig-s0-201638 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All warnings (new ones prefixed by >>):
In file included from arch/x86/include/asm/percpu.h:551:0,
from arch/x86/include/asm/preempt.h:5,
from include/linux/preempt.h:59,
from include/linux/spinlock.h:50,
from arch/x86/kernel/nmi.c:13:
arch/x86/kernel/nmi.c: In function 'do_nmi':
include/asm-generic/percpu.h:138:17: warning: unused variable '__p' [-Wunused-variable]
typeof(&(pcp)) __p = raw_cpu_ptr(&(pcp)); \
^
include/asm-generic/percpu.h:378:41: note: in expansion of macro 'this_cpu_generic_add_return'
#define this_cpu_add_return_8(pcp, val) this_cpu_generic_add_return(pcp, val)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:326:24: note: in expansion of macro 'this_cpu_add_return_8'
case 8: pscr2_ret__ = stem##8(variable, __VA_ARGS__); break; \
^~~~
include/linux/percpu-defs.h:499:39: note: in expansion of macro '__pcpu_size_call_return2'
#define this_cpu_add_return(pcp, val) __pcpu_size_call_return2(this_cpu_add_return_, pcp, val)
^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:511:34: note: in expansion of macro 'this_cpu_add_return'
#define this_cpu_dec_return(pcp) this_cpu_add_return(pcp, -1)
^~~~~~~~~~~~~~~~~~~
>> arch/x86/kernel/nmi.c:544:6: note: in expansion of macro 'this_cpu_dec_return'
if (this_cpu_dec_return(nmi_state))
^~~~~~~~~~~~~~~~~~~
--
mm/vmstat.c: In function 'refresh_cpu_vm_stats':
mm/vmstat.c:476:1: error: macro "raw_cpu_generic_xchg" requires 2 arguments, but only 1 given
v = this_cpu_xchg(p->vm_stat_diff[i], 0);
^ ~~~~~~~~~~~~
In file included from arch/x86/include/asm/percpu.h:551:0,
from arch/x86/include/asm/preempt.h:5,
from include/linux/preempt.h:59,
from include/linux/spinlock.h:50,
from include/linux/wait.h:8,
from include/linux/fs.h:5,
from mm/vmstat.c:12:
include/asm-generic/percpu.h:152:10: error: 'raw_cpu_generic_xchg' undeclared (first use in this function)
__ret = raw_cpu_generic_xchg(pcp); \
^
include/asm-generic/percpu.h:391:36: note: in expansion of macro 'this_cpu_generic_xchg'
#define this_cpu_xchg_8(pcp, nval) this_cpu_generic_xchg(pcp, nval)
^~~~~~~~~~~~~~~~~~~~~
>> include/linux/percpu-defs.h:326:24: note: in expansion of macro 'this_cpu_xchg_8'
case 8: pscr2_ret__ = stem##8(variable, __VA_ARGS__); break; \
^~~~
include/linux/percpu-defs.h:500:34: note: in expansion of macro '__pcpu_size_call_return2'
#define this_cpu_xchg(pcp, nval) __pcpu_size_call_return2(this_cpu_xchg_, pcp, nval)
^~~~~~~~~~~~~~~~~~~~~~~~
mm/vmstat.c:476:8: note: in expansion of macro 'this_cpu_xchg'
v = this_cpu_xchg(p->vm_stat_diff[i], 0);
^~~~~~~~~~~~~
include/asm-generic/percpu.h:152:10: note: each undeclared identifier is reported only once for each function it appears in
__ret = raw_cpu_generic_xchg(pcp); \
^
include/asm-generic/percpu.h:391:36: note: in expansion of macro 'this_cpu_generic_xchg'
#define this_cpu_xchg_8(pcp, nval) this_cpu_generic_xchg(pcp, nval)
^~~~~~~~~~~~~~~~~~~~~
>> include/linux/percpu-defs.h:326:24: note: in expansion of macro 'this_cpu_xchg_8'
case 8: pscr2_ret__ = stem##8(variable, __VA_ARGS__); break; \
^~~~
include/linux/percpu-defs.h:500:34: note: in expansion of macro '__pcpu_size_call_return2'
#define this_cpu_xchg(pcp, nval) __pcpu_size_call_return2(this_cpu_xchg_, pcp, nval)
^~~~~~~~~~~~~~~~~~~~~~~~
mm/vmstat.c:476:8: note: in expansion of macro 'this_cpu_xchg'
v = this_cpu_xchg(p->vm_stat_diff[i], 0);
^~~~~~~~~~~~~
vim +/this_cpu_dec_return +544 arch/x86/kernel/nmi.c
1d48922c Don Zickus 2011-09-30 528 inc_irq_stat(__nmi_count);
1d48922c Don Zickus 2011-09-30 529
1d48922c Don Zickus 2011-09-30 530 if (!ignore_nmis)
1d48922c Don Zickus 2011-09-30 531 default_do_nmi(regs);
1d48922c Don Zickus 2011-09-30 532
1d48922c Don Zickus 2011-09-30 533 nmi_exit();
228bdaa9 Steven Rostedt 2011-12-09 534
9d050416 Andy Lutomirski 2015-07-15 535 #ifdef CONFIG_X86_64
9d050416 Andy Lutomirski 2015-07-15 536 if (unlikely(this_cpu_read(update_debug_stack))) {
9d050416 Andy Lutomirski 2015-07-15 537 debug_stack_reset();
9d050416 Andy Lutomirski 2015-07-15 538 this_cpu_write(update_debug_stack, 0);
9d050416 Andy Lutomirski 2015-07-15 539 }
9d050416 Andy Lutomirski 2015-07-15 540 #endif
9d050416 Andy Lutomirski 2015-07-15 541
9d050416 Andy Lutomirski 2015-07-15 542 if (unlikely(this_cpu_read(nmi_cr2) != read_cr2()))
9d050416 Andy Lutomirski 2015-07-15 543 write_cr2(this_cpu_read(nmi_cr2));
9d050416 Andy Lutomirski 2015-07-15 @544 if (this_cpu_dec_return(nmi_state))
9d050416 Andy Lutomirski 2015-07-15 545 goto nmi_restart;
1d48922c Don Zickus 2011-09-30 546 }
9326638c Masami Hiramatsu 2014-04-17 547 NOKPROBE_SYMBOL(do_nmi);
1d48922c Don Zickus 2011-09-30 548
1d48922c Don Zickus 2011-09-30 549 void stop_nmi(void)
1d48922c Don Zickus 2011-09-30 550 {
1d48922c Don Zickus 2011-09-30 551 ignore_nmis++;
1d48922c Don Zickus 2011-09-30 552 }
:::::: The code at line 544 was first introduced by commit
:::::: 9d05041679904b12c12421cbcf9cb5f4860a8d7b x86/nmi: Enable nested do_nmi() handling for 64-bit kernels
:::::: TO: Andy Lutomirski <luto@kernel.org>
:::::: CC: Ingo Molnar <mingo@kernel.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 28216 bytes --]
next prev parent reply other threads:[~2016-09-21 10:31 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-21 8:51 Nicholas Piggin
2016-09-21 10:25 ` kbuild test robot
2016-09-21 10:30 ` kbuild test robot
2016-09-21 10:30 ` kbuild test robot [this message]
2016-09-21 10:57 ` Nicholas Piggin
2016-09-21 14:23 ` Tejun Heo
2016-09-21 20:16 ` Christoph Lameter
2016-09-22 4:42 ` Nicholas Piggin
2016-09-22 4:35 ` Nicholas Piggin
2016-09-22 16:07 ` Tejun Heo
2016-09-23 7:33 ` Nicholas Piggin
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=201609211832.ExVaoD7t%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=cl@linux.com \
--cc=kbuild-all@01.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=npiggin@gmail.com \
--cc=tj@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®