Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1457512 > unrolled thread

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

Started byStephen Rothwell <sfr@canb.auug.org.au>
First post2016-08-08 04:00 +0200
Last post2016-08-09 14:50 +0200
Articles 7 — 3 participants

Back to article view | Back to linux.kernel


Contents

  linux-next: build failure after merge of Linus' tree Stephen Rothwell <sfr@canb.auug.org.au> - 2016-08-08 04:00 +0200
    Re: linux-next: build failure after merge of Linus' tree Doug Ledford <dledford@redhat.com> - 2016-08-08 17:40 +0200
      Re: linux-next: build failure after merge of Linus' tree Stephen Rothwell <sfr@canb.auug.org.au> - 2016-08-09 00:00 +0200
        Re: linux-next: build failure after merge of Linus' tree Doug Ledford <dledford@redhat.com> - 2016-08-09 01:40 +0200
          Re: linux-next: build failure after merge of Linus' tree Stephen Rothwell <sfr@canb.auug.org.au> - 2016-08-09 02:00 +0200
      Re: linux-next: build failure after merge of Linus' tree Leon Romanovsky <leon@kernel.org> - 2016-08-09 11:00 +0200
        Re: linux-next: build failure after merge of Linus' tree Doug Ledford <dledford@redhat.com> - 2016-08-09 14:50 +0200

#1457512 — linux-next: build failure after merge of Linus' tree

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2016-08-08 04:00 +0200
Subjectlinux-next: build failure after merge of Linus' tree
Message-ID<s3I1b-3cp-1@gated-at.bofh.it>
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
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 :-()

I just disabled teh driver for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 8 Aug 2016 11:52:53 +1000
Subject: [PATCH] Disable the Soft RoCE driver

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 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/
-- 
2.8.1

-- 
Cheers,
Stephen Rothwell

[toc] | [next] | [standalone]


#1457864

FromDoug Ledford <dledford@redhat.com>
Date2016-08-08 17:40 +0200
Message-ID<s3UOK-3af-41@gated-at.bofh.it>
In reply to#1457512

[Multipart message — attachments visible in raw view] — view raw

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@canb.auug.org.au>
> Date: Mon, 8 Aug 2016 11:52:53 +1000
> Subject: [PATCH] Disable the Soft RoCE driver
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  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@redhat.com>
    GPG Key ID: 0E572FDD

[toc] | [prev] | [next] | [standalone]


#1458271

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2016-08-09 00:00 +0200
Message-ID<s40Kt-6Wq-7@gated-at.bofh.it>
In reply to#1457864
Hi Doug,

On Mon, 8 Aug 2016 11:37:33 -0400 Doug Ledford <dledford@redhat.com> wrote:
>
> On 8/7/2016 9:58 PM, Stephen Rothwell wrote:
> > 
> > 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.

Actually the second copy is from your tree
(git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git#for-next),
Leon's trees are empty (relative to Linus' tree).  I guess when you
rebased and squashed things, you forgot to reset your for-next tag, so
I got the old version of your tree as well as the rebased version via
Linus' tree.

-- 
Cheers,
Stephen Rothwell

[toc] | [prev] | [next] | [standalone]


#1458310

FromDoug Ledford <dledford@redhat.com>
Date2016-08-09 01:40 +0200
Message-ID<s42jf-85P-3@gated-at.bofh.it>
In reply to#1458271

[Multipart message — attachments visible in raw view] — view raw

On 8/8/2016 5:53 PM, Stephen Rothwell wrote:
> Hi Doug,
> 
> On Mon, 8 Aug 2016 11:37:33 -0400 Doug Ledford <dledford@redhat.com> wrote:
>>
>> On 8/7/2016 9:58 PM, Stephen Rothwell wrote:
>>>
>>> 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.
> 
> Actually the second copy is from your tree
> (git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git#for-next),
> Leon's trees are empty (relative to Linus' tree).  I guess when you
> rebased and squashed things, you forgot to reset your for-next tag, so
> I got the old version of your tree as well as the rebased version via
> Linus' tree.
> 

Doh!  My apologies, that would certainly explain it.  I'll reset my
for-next tag.


-- 
Doug Ledford <dledford@redhat.com>
    GPG Key ID: 0E572FDD

[toc] | [prev] | [next] | [standalone]


#1458328

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2016-08-09 02:00 +0200
Message-ID<s42CB-8dP-23@gated-at.bofh.it>
In reply to#1458310
Hi Doug,

On Mon, 8 Aug 2016 19:30:57 -0400 Doug Ledford <dledford@redhat.com> wrote:
>
> Doh!  My apologies, that would certainly explain it.  I'll reset my
> for-next tag.

Thanks.

-- 
Cheers,
Stephen Rothwell

[toc] | [prev] | [next] | [standalone]


#1458526

FromLeon Romanovsky <leon@kernel.org>
Date2016-08-09 11:00 +0200
Message-ID<s4b3c-5fC-29@gated-at.bofh.it>
In reply to#1457864
On Mon, Aug 8, 2016 at 6:37 PM, Doug Ledford <dledford@redhat.com> wrote:
> 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.

Doug,
Just to be clear on this point and on my flow.
I'm resetting my ->next branches on the same day of your email
announcement of acceptance.

Thanks

[toc] | [prev] | [next] | [standalone]


#1458693

FromDoug Ledford <dledford@redhat.com>
Date2016-08-09 14:50 +0200
Message-ID<s4eDL-7BJ-15@gated-at.bofh.it>
In reply to#1458526

[Multipart message — attachments visible in raw view] — view raw

On 8/9/2016 4:54 AM, Leon Romanovsky wrote:
> On Mon, Aug 8, 2016 at 6:37 PM, Doug Ledford <dledford@redhat.com> wrote:
>> 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.
> 
> Doug,
> Just to be clear on this point and on my flow.
> I'm resetting my ->next branches on the same day of your email
> announcement of acceptance.

Ok, thanks for the clarification.  As it turned out, I needed to reset
my for-next tag.


-- 
Doug Ledford <dledford@redhat.com>
    GPG Key ID: 0E572FDD

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web