Re: Re: linux-next: build failure after merge of the rdma tree

From: Bernard Metzler
Date: Mon Jul 08 2019 - 10:28:23 EST


-----"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.