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 <l...@kernel.org>
:::::: CC: Ingo Molnar <mi...@kernel.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to