Re: linux-next: build failure after merge of Linus' tree

From: Doug Ledford
Date: Mon Aug 08 2016 - 11:37:52 EST


On 8/7/2016 9:58 PM, Stephen Rothwell wrote:
> Hi all,
>
> With Linus' tree, today's linux-next build (powerpc allyesconfig) failed
> like this:
>
> drivers/infiniband/sw/built-in.o:(.opd+0x1698): multiple definition of `copy_data'
> drivers/infiniband/hw/built-in.o:(.opd+0xe5f8): first defined here
> drivers/infiniband/sw/built-in.o:(.opd+0x1320): multiple definition of `rxe_av_from_attr'
> drivers/infiniband/hw/built-in.o:(.opd+0xe280): first defined here

This looks very suspicious. I think you are picking up two copies of
the rxe code. One from Linus tree and one from probably Leon's tree.
The thing is, the rxe driver is an entirely software RoCE driver. So,
after I picked it up, I moved it from drivers/infiniband/hw to
drivers/infiniband/sw where it more correctly belongs. Leon's tree
doesn't have that move, and since you pull Leon's tree into your -next
process, with the allyesconfig you are trying to build two copies of it
and put them both statically into the kernel, hence all of the double
definitions. Leon needs to drop his copy of the rxe driver and let the
one in Linus' tree be the only one in existence.

> drivers/infiniband/sw/built-in.o:(.opd+0x18d8): multiple definition of `rxe_do_task'
> drivers/infiniband/hw/built-in.o:(.opd+0xe838): first defined here
>
> and lots of others.
>
> Caused by commit
>
> 8700e3e7c485 ("Soft RoCE driver")
>
> (which was never in linux-next :-()

The code was, just not that specific commit. I both moved the code to
infiniband/sw and also squashed it all down to one commit. After I did
the move/squash, I got 0day and local testing to make sure I didn't
break it in the move, but I didn't get linux next as I knew it had
already been through that and a move/squash should not break anything
that linux next is testing/checking.

Leon, please drop your rxe code out of your linux-next area so we can
eliminate this issue (or replace it with the final commit I submitted).

> I just disabled teh driver for today:

> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Date: Mon, 8 Aug 2016 11:52:53 +1000
> Subject: [PATCH] Disable the Soft RoCE driver
>
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> ---
> drivers/infiniband/Kconfig | 1 -
> drivers/infiniband/sw/Makefile | 1 -
> 2 files changed, 2 deletions(-)
>
> diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig
> index 0c2e55c5354b..53ef194c5be1 100644
> --- a/drivers/infiniband/Kconfig
> +++ b/drivers/infiniband/Kconfig
> @@ -86,7 +86,6 @@ source "drivers/infiniband/ulp/iser/Kconfig"
> source "drivers/infiniband/ulp/isert/Kconfig"
>
> source "drivers/infiniband/sw/rdmavt/Kconfig"
> -source "drivers/infiniband/sw/rxe/Kconfig"
>
> source "drivers/infiniband/hw/hfi1/Kconfig"
>
> diff --git a/drivers/infiniband/sw/Makefile b/drivers/infiniband/sw/Makefile
> index 8b095b27db87..988b6a0101a4 100644
> --- a/drivers/infiniband/sw/Makefile
> +++ b/drivers/infiniband/sw/Makefile
> @@ -1,2 +1 @@
> obj-$(CONFIG_INFINIBAND_RDMAVT) += rdmavt/
> -obj-$(CONFIG_RDMA_RXE) += rxe/
>


--
Doug Ledford <dledford@xxxxxxxxxx>
GPG Key ID: 0E572FDD

Attachment: signature.asc
Description: OpenPGP digital signature