[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH V2] xen-evtchn: Bind dyn evtchn:qemu-dm interrupt to next online VCPU



On 06/06/2017 04:02 PM, kbuild test robot wrote:
> Hi Anoob,
>
> [auto build test ERROR on xen-tip/linux-next]
> [also build test ERROR on v4.12-rc4 next-20170606]
> [if your patch is applied to the wrong git tree, please drop us a note to 
> help improve the system]
>
> url:    
> https://github.com/0day-ci/linux/commits/Anoob-Soman/xen-evtchn-Bind-dyn-evtchn-qemu-dm-interrupt-to-next-online-VCPU/20170607-021300
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git linux-next
> config: x86_64-randconfig-x010-201723 (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=x86_64 
>
> All error/warnings (new ones prefixed by >>):
>
>    In file included from include/asm-generic/percpu.h:6:0,
>                     from arch/x86/include/asm/percpu.h:542,
>                     from arch/x86/include/asm/preempt.h:5,
>                     from include/linux/preempt.h:80,
>                     from include/linux/spinlock.h:50,
>                     from include/linux/seqlock.h:35,
>                     from include/linux/time.h:5,
>                     from include/linux/stat.h:18,
>                     from include/linux/module.h:10,
>                     from drivers//xen/evtchn.c:36:
>    drivers//xen/evtchn.c: In function 'evtchn_bind_interdom_next_vcpu':
>    include/linux/percpu-defs.h:91:33: error: section attribute cannot be 
> specified for local variables
>      extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name;  \
>                                     ^
>    include/linux/percpu-defs.h:116:2: note: in expansion of macro 
> 'DEFINE_PER_CPU_SECTION'
>      DEFINE_PER_CPU_SECTION(type, name, "")
>      ^~~~~~~~~~~~~~~~~~~~~~
>>> drivers//xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>    include/linux/percpu-defs.h:92:26: error: section attribute cannot be 
> specified for local variables
>      __PCPU_DUMMY_ATTRS char __pcpu_unique_##name;   \
>                              ^
>    include/linux/percpu-defs.h:116:2: note: in expansion of macro 
> 'DEFINE_PER_CPU_SECTION'
>      DEFINE_PER_CPU_SECTION(type, name, "")
>      ^~~~~~~~~~~~~~~~~~~~~~
>>> drivers//xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>>> include/linux/percpu-defs.h:92:26: error: declaration of 
>>> '__pcpu_unique_bind_last_selected_cpu' with no linkage follows extern 
>>> declaration
>      __PCPU_DUMMY_ATTRS char __pcpu_unique_##name;   \
>                              ^
>    include/linux/percpu-defs.h:116:2: note: in expansion of macro 
> 'DEFINE_PER_CPU_SECTION'
>      DEFINE_PER_CPU_SECTION(type, name, "")
>      ^~~~~~~~~~~~~~~~~~~~~~
>>> drivers//xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>    include/linux/percpu-defs.h:91:33: note: previous declaration of 
> '__pcpu_unique_bind_last_selected_cpu' was here
>      extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name;  \
>                                     ^
>    include/linux/percpu-defs.h:116:2: note: in expansion of macro 
> 'DEFINE_PER_CPU_SECTION'
>      DEFINE_PER_CPU_SECTION(type, name, "")
>      ^~~~~~~~~~~~~~~~~~~~~~
>>> drivers//xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>>> drivers//xen/evtchn.c:438:29: error: section attribute cannot be specified 
>>> for local variables
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>                                 ^
>    include/linux/percpu-defs.h:93:44: note: in definition of macro 
> 'DEFINE_PER_CPU_SECTION'
>      extern __PCPU_ATTRS(sec) __typeof__(type) name;   \
>                                                ^~~~
>>> drivers//xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>>> drivers//xen/evtchn.c:438:29: error: section attribute cannot be specified 
>>> for local variables
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>                                 ^
>    include/linux/percpu-defs.h:95:19: note: in definition of macro 
> 'DEFINE_PER_CPU_SECTION'
>      __typeof__(type) name
>                       ^~~~
>>> drivers//xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>>> drivers//xen/evtchn.c:438:29: error: weak declaration of 
>>> 'bind_last_selected_cpu' must be public
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>                                 ^
>    include/linux/percpu-defs.h:95:19: note: in definition of macro 
> 'DEFINE_PER_CPU_SECTION'
>      __typeof__(type) name
>                       ^~~~
>>> drivers//xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>>> drivers//xen/evtchn.c:438:29: error: declaration of 
>>> 'bind_last_selected_cpu' with no linkage follows extern declaration
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>                                 ^
>    include/linux/percpu-defs.h:95:19: note: in definition of macro 
> 'DEFINE_PER_CPU_SECTION'
>      __typeof__(type) name
>                       ^~~~
>>> drivers//xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>    drivers//xen/evtchn.c:438:29: note: previous declaration of 
> 'bind_last_selected_cpu' was here
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>                                 ^
>    include/linux/percpu-defs.h:93:44: note: in definition of macro 
> 'DEFINE_PER_CPU_SECTION'
>      extern __PCPU_ATTRS(sec) __typeof__(type) name;   \
>                                                ^~~~
>>> drivers//xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
> --
>    In file included from include/asm-generic/percpu.h:6:0,
>                     from arch/x86/include/asm/percpu.h:542,
>                     from arch/x86/include/asm/preempt.h:5,
>                     from include/linux/preempt.h:80,
>                     from include/linux/spinlock.h:50,
>                     from include/linux/seqlock.h:35,
>                     from include/linux/time.h:5,
>                     from include/linux/stat.h:18,
>                     from include/linux/module.h:10,
>                     from drivers/xen/evtchn.c:36:
>    drivers/xen/evtchn.c: In function 'evtchn_bind_interdom_next_vcpu':
>    include/linux/percpu-defs.h:91:33: error: section attribute cannot be 
> specified for local variables
>      extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name;  \
>                                     ^
>    include/linux/percpu-defs.h:116:2: note: in expansion of macro 
> 'DEFINE_PER_CPU_SECTION'
>      DEFINE_PER_CPU_SECTION(type, name, "")
>      ^~~~~~~~~~~~~~~~~~~~~~
>    drivers/xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>    include/linux/percpu-defs.h:92:26: error: section attribute cannot be 
> specified for local variables
>      __PCPU_DUMMY_ATTRS char __pcpu_unique_##name;   \
>                              ^
>    include/linux/percpu-defs.h:116:2: note: in expansion of macro 
> 'DEFINE_PER_CPU_SECTION'
>      DEFINE_PER_CPU_SECTION(type, name, "")
>      ^~~~~~~~~~~~~~~~~~~~~~
>    drivers/xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>>> include/linux/percpu-defs.h:92:26: error: declaration of 
>>> '__pcpu_unique_bind_last_selected_cpu' with no linkage follows extern 
>>> declaration
>      __PCPU_DUMMY_ATTRS char __pcpu_unique_##name;   \
>                              ^
>    include/linux/percpu-defs.h:116:2: note: in expansion of macro 
> 'DEFINE_PER_CPU_SECTION'
>      DEFINE_PER_CPU_SECTION(type, name, "")
>      ^~~~~~~~~~~~~~~~~~~~~~
>    drivers/xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>    include/linux/percpu-defs.h:91:33: note: previous declaration of 
> '__pcpu_unique_bind_last_selected_cpu' was here
>      extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name;  \
>                                     ^
>    include/linux/percpu-defs.h:116:2: note: in expansion of macro 
> 'DEFINE_PER_CPU_SECTION'
>      DEFINE_PER_CPU_SECTION(type, name, "")
>      ^~~~~~~~~~~~~~~~~~~~~~
>    drivers/xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>    drivers/xen/evtchn.c:438:29: error: section attribute cannot be specified 
> for local variables
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>                                 ^
>    include/linux/percpu-defs.h:93:44: note: in definition of macro 
> 'DEFINE_PER_CPU_SECTION'
>      extern __PCPU_ATTRS(sec) __typeof__(type) name;   \
>                                                ^~~~
>    drivers/xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>    drivers/xen/evtchn.c:438:29: error: section attribute cannot be specified 
> for local variables
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>                                 ^
>    include/linux/percpu-defs.h:95:19: note: in definition of macro 
> 'DEFINE_PER_CPU_SECTION'
>      __typeof__(type) name
>                       ^~~~
>    drivers/xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>    drivers/xen/evtchn.c:438:29: error: weak declaration of 
> 'bind_last_selected_cpu' must be public
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>                                 ^
>    include/linux/percpu-defs.h:95:19: note: in definition of macro 
> 'DEFINE_PER_CPU_SECTION'
>      __typeof__(type) name
>                       ^~~~
>    drivers/xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>    drivers/xen/evtchn.c:438:29: error: declaration of 
> 'bind_last_selected_cpu' with no linkage follows extern declaration
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>                                 ^
>    include/linux/percpu-defs.h:95:19: note: in definition of macro 
> 'DEFINE_PER_CPU_SECTION'
>      __typeof__(type) name
>                       ^~~~
>    drivers/xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>    drivers/xen/evtchn.c:438:29: note: previous declaration of 
> 'bind_last_selected_cpu' was here
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>                                 ^
>    include/linux/percpu-defs.h:93:44: note: in definition of macro 
> 'DEFINE_PER_CPU_SECTION'
>      extern __PCPU_ATTRS(sec) __typeof__(type) name;   \
>                                                ^~~~
>    drivers/xen/evtchn.c:438:9: note: in expansion of macro 'DEFINE_PER_CPU'
>      static DEFINE_PER_CPU(int, bind_last_selected_cpu);
>             ^~~~~~~~~~~~~~
>
> vim +/bind_last_selected_cpu +438 drivers//xen/evtchn.c
>
>    432        
>    433                del_evtchn(u, evtchn);
>    434        }
>    435        
>    436        static void evtchn_bind_interdom_next_vcpu(int evtchn)
>    437        {
>  > 438                static DEFINE_PER_CPU(int, bind_last_selected_cpu);


Oh well, so much for my request to move it. So you are going to make it
global to the file.

Here is the explanation BTW:
http://www.spinics.net/lists/linux-mm/msg121626.html

CONFIG_DEBUG_FORCE_WEAK_PER_CPU is what trips this.

-boris



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.