-----"Jason Gunthorpe" <jgg@xxxxxxxxxxxx> wrote: ----- >To: "Stephen Rothwell" <sfr@xxxxxxxxxxxxxxxx>, "Bernard Metzler" ><bmt@xxxxxxxxxxxxxx> >From: "Jason Gunthorpe" <jgg@xxxxxxxxxxxx> >Date: 07/08/2019 04:09PM >Cc: "Doug Ledford" <dledford@xxxxxxxxxx>, "Linux Next Mailing List" ><linux-next@xxxxxxxxxxxxxxx>, "Linux Kernel Mailing List" ><linux-kernel@xxxxxxxxxxxxxxx> >Subject: [EXTERNAL] Re: linux-next: build failure after merge of the >rdma tree > >On Mon, Jul 08, 2019 at 01:03:51PM +1000, Stephen Rothwell wrote: >> Hi all, >> >> After merging the rdma tree, today's linux-next build (x86_64 >> allmodconfig) failed like this: >> >> In file included from include/asm-generic/percpu.h:7, >> from arch/x86/include/asm/percpu.h:544, >> from arch/x86/include/asm/preempt.h:6, >> from include/linux/preempt.h:78, >> from include/linux/spinlock.h:51, >> from include/linux/seqlock.h:36, >> from include/linux/time.h:6, >> from include/linux/ktime.h:24, >> from include/linux/timer.h:6, >> from include/linux/netdevice.h:24, >> from drivers/infiniband/sw/siw/siw_main.c:8: >> include/linux/percpu-defs.h:92:33: warning: '__pcpu_unique_use_cnt' >initialized and declared 'extern' >> extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ >> ^~~~~~~~~~~~~~ >> include/linux/percpu-defs.h:115:2: note: in expansion of macro >'DEFINE_PER_CPU_SECTION' >> DEFINE_PER_CPU_SECTION(type, name, "") >> ^~~~~~~~~~~~~~~~~~~~~~ >> drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of >macro 'DEFINE_PER_CPU' >> static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); >> ^~~~~~~~~~~~~~ >> include/linux/percpu-defs.h:93:26: error: redefinition of >'__pcpu_unique_use_cnt' >> __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ >> ^~~~~~~~~~~~~~ >> include/linux/percpu-defs.h:115:2: note: in expansion of macro >'DEFINE_PER_CPU_SECTION' >> DEFINE_PER_CPU_SECTION(type, name, "") >> ^~~~~~~~~~~~~~~~~~~~~~ >> drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of >macro 'DEFINE_PER_CPU' >> static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); > >Bernard, > >This looks like the wrong way to use DEFINE_PER_CPU these days. I'm >not sure why my compiles don't hit it, or why 0-day didn't say >something > >Looking at the other atomic_t PER_CPU users they just rely on >automatic zero initialization, so this should just be: > > static DEFINE_PER_CPU(atomic_t, use_cnt); > >? > >Please confirm ASAP. > Hi Jason, Thanks for bringing this up. Indeed, that explicit initialization seem to be inappropriate. Can you please fix that as you suggest? Thanks very much, Bernard.