2018-05-30 21:59:21

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency

The newly added fill_res_ep_entry function fails to link if
CONFIG_INFINIBAND_ADDR_TRANS is not set:

drivers/infiniband/hw/cxgb4/restrack.o: In function `fill_res_ep_entry':
restrack.c:(.text+0x3cc): undefined reference to `rdma_res_to_id'
restrack.c:(.text+0x3d0): undefined reference to `rdma_iw_cm_id'

This adds a Kconfig dependency for the driver.

Fixes: 116aeb887371 ("iw_cxgb4: provide detailed provider-specific CM_ID information")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/infiniband/hw/cxgb4/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/infiniband/hw/cxgb4/Kconfig b/drivers/infiniband/hw/cxgb4/Kconfig
index 0a671a61fc92..e0522a5d5a06 100644
--- a/drivers/infiniband/hw/cxgb4/Kconfig
+++ b/drivers/infiniband/hw/cxgb4/Kconfig
@@ -1,6 +1,7 @@
config INFINIBAND_CXGB4
tristate "Chelsio T4/T5 RDMA Driver"
depends on CHELSIO_T4 && INET
+ depends on INFINIBAND_ADDR_TRANS
select CHELSIO_LIB
select GENERIC_ALLOCATOR
---help---
--
2.9.0



2018-05-30 22:05:10

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [PATCH] iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency

On Wed, May 30, 2018 at 11:58:18PM +0200, Arnd Bergmann wrote:
> The newly added fill_res_ep_entry function fails to link if
> CONFIG_INFINIBAND_ADDR_TRANS is not set:
>
> drivers/infiniband/hw/cxgb4/restrack.o: In function `fill_res_ep_entry':
> restrack.c:(.text+0x3cc): undefined reference to `rdma_res_to_id'
> restrack.c:(.text+0x3d0): undefined reference to `rdma_iw_cm_id'
>
> This adds a Kconfig dependency for the driver.
>
> Fixes: 116aeb887371 ("iw_cxgb4: provide detailed provider-specific CM_ID information")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/infiniband/hw/cxgb4/Kconfig | 1 +
> 1 file changed, 1 insertion(+)

Oh, I think we need to solve this with maybe a header fill null stub
instead..

We don't want to disable drivers just because a user interface is
disabled.

Thanks,
Jason

2018-05-30 22:11:29

by Steve Wise

[permalink] [raw]
Subject: Re: [PATCH] iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency



On 5/30/2018 5:04 PM, Jason Gunthorpe wrote:
> On Wed, May 30, 2018 at 11:58:18PM +0200, Arnd Bergmann wrote:
>> The newly added fill_res_ep_entry function fails to link if
>> CONFIG_INFINIBAND_ADDR_TRANS is not set:
>>
>> drivers/infiniband/hw/cxgb4/restrack.o: In function `fill_res_ep_entry':
>> restrack.c:(.text+0x3cc): undefined reference to `rdma_res_to_id'
>> restrack.c:(.text+0x3d0): undefined reference to `rdma_iw_cm_id'
>>
>> This adds a Kconfig dependency for the driver.
>>
>> Fixes: 116aeb887371 ("iw_cxgb4: provide detailed provider-specific CM_ID information")
>> Signed-off-by: Arnd Bergmann <[email protected]>
>> ---
>> drivers/infiniband/hw/cxgb4/Kconfig | 1 +
>> 1 file changed, 1 insertion(+)
> Oh, I think we need to solve this with maybe a header fill null stub
> instead..
>
> We don't want to disable drivers just because a user interface is
> disabled.
>

Why does CONFIG_INFINIBAND_ADDR_TRANS disable building rdma_cm.ko?  That
is not correct.

Steve.

2018-05-30 22:26:23

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [PATCH] iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency

On Wed, May 30, 2018 at 05:10:35PM -0500, Steve Wise wrote:
>
>
> On 5/30/2018 5:04 PM, Jason Gunthorpe wrote:
> > On Wed, May 30, 2018 at 11:58:18PM +0200, Arnd Bergmann wrote:
> >> The newly added fill_res_ep_entry function fails to link if
> >> CONFIG_INFINIBAND_ADDR_TRANS is not set:
> >>
> >> drivers/infiniband/hw/cxgb4/restrack.o: In function `fill_res_ep_entry':
> >> restrack.c:(.text+0x3cc): undefined reference to `rdma_res_to_id'
> >> restrack.c:(.text+0x3d0): undefined reference to `rdma_iw_cm_id'
> >>
> >> This adds a Kconfig dependency for the driver.
> >>
> >> Fixes: 116aeb887371 ("iw_cxgb4: provide detailed provider-specific CM_ID information")
> >> Signed-off-by: Arnd Bergmann <[email protected]>
> >> drivers/infiniband/hw/cxgb4/Kconfig | 1 +
> >> 1 file changed, 1 insertion(+)
> > Oh, I think we need to solve this with maybe a header fill null stub
> > instead..
> >
> > We don't want to disable drivers just because a user interface is
> > disabled.
> >
>
> Why does CONFIG_INFINIBAND_ADDR_TRANS disable building rdma_cm.ko? That
> is not correct.

That seems like a reasonable thing to do..

But why does it break the compile? Those functions are in cma.c...

Jason

2018-05-30 22:31:18

by Steve Wise

[permalink] [raw]
Subject: Re: [PATCH] iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency



On 5/30/2018 5:25 PM, Jason Gunthorpe wrote:
> On Wed, May 30, 2018 at 05:10:35PM -0500, Steve Wise wrote:
>>
>> On 5/30/2018 5:04 PM, Jason Gunthorpe wrote:
>>> On Wed, May 30, 2018 at 11:58:18PM +0200, Arnd Bergmann wrote:
>>>> The newly added fill_res_ep_entry function fails to link if
>>>> CONFIG_INFINIBAND_ADDR_TRANS is not set:
>>>>
>>>> drivers/infiniband/hw/cxgb4/restrack.o: In function `fill_res_ep_entry':
>>>> restrack.c:(.text+0x3cc): undefined reference to `rdma_res_to_id'
>>>> restrack.c:(.text+0x3d0): undefined reference to `rdma_iw_cm_id'
>>>>
>>>> This adds a Kconfig dependency for the driver.
>>>>
>>>> Fixes: 116aeb887371 ("iw_cxgb4: provide detailed provider-specific CM_ID information")
>>>> Signed-off-by: Arnd Bergmann <[email protected]>
>>>> drivers/infiniband/hw/cxgb4/Kconfig | 1 +
>>>> 1 file changed, 1 insertion(+)
>>> Oh, I think we need to solve this with maybe a header fill null stub
>>> instead..
>>>
>>> We don't want to disable drivers just because a user interface is
>>> disabled.
>>>
>> Why does CONFIG_INFINIBAND_ADDR_TRANS disable building rdma_cm.ko? That
>> is not correct.
> That seems like a reasonable thing to do..
rdma_ucm.ko is for usermode users, rdma_cm.ko is for kernel users, and
is required for iwarp drivers.  It seems rdma_cm.ko is not being
compiled if ADDR_TRANS is not set.


> But why does it break the compile? Those functions are in cma.c...
>
> Jason

Indeed, why. :)

Perhaps this line is wrong in drivers/infiniband/core/Makefile:

infiniband-$(CONFIG_INFINIBAND_ADDR_TRANS)      := rdma_cm.o

I don't understand the rules in that Makefile. 

Steve.

2018-05-30 22:42:12

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency

On Thu, May 31, 2018 at 12:29 AM, Steve Wise
<[email protected]> wrote:
>
>
> On 5/30/2018 5:25 PM, Jason Gunthorpe wrote:
>> On Wed, May 30, 2018 at 05:10:35PM -0500, Steve Wise wrote:
>>>
>>> On 5/30/2018 5:04 PM, Jason Gunthorpe wrote:
>>>> On Wed, May 30, 2018 at 11:58:18PM +0200, Arnd Bergmann wrote:
>>>>> The newly added fill_res_ep_entry function fails to link if
>>>>> CONFIG_INFINIBAND_ADDR_TRANS is not set:
>>>>>
>>>>> drivers/infiniband/hw/cxgb4/restrack.o: In function `fill_res_ep_entry':
>>>>> restrack.c:(.text+0x3cc): undefined reference to `rdma_res_to_id'
>>>>> restrack.c:(.text+0x3d0): undefined reference to `rdma_iw_cm_id'
>>>>>
>>>>> This adds a Kconfig dependency for the driver.
>>>>>
>>>>> Fixes: 116aeb887371 ("iw_cxgb4: provide detailed provider-specific CM_ID information")
>>>>> Signed-off-by: Arnd Bergmann <[email protected]>
>>>>> drivers/infiniband/hw/cxgb4/Kconfig | 1 +
>>>>> 1 file changed, 1 insertion(+)
>>>> Oh, I think we need to solve this with maybe a header fill null stub
>>>> instead..
>>>>
>>>> We don't want to disable drivers just because a user interface is
>>>> disabled.
>>>>
>>> Why does CONFIG_INFINIBAND_ADDR_TRANS disable building rdma_cm.ko? That
>>> is not correct.
>> That seems like a reasonable thing to do..
> rdma_ucm.ko is for usermode users, rdma_cm.ko is for kernel users, and
> is required for iwarp drivers. It seems rdma_cm.ko is not being
> compiled if ADDR_TRANS is not set.
>
>
>> But why does it break the compile? Those functions are in cma.c...
>>
>> Jason
>
> Indeed, why. :)
>
> Perhaps this line is wrong in drivers/infiniband/core/Makefile:
>
> infiniband-$(CONFIG_INFINIBAND_ADDR_TRANS) := rdma_cm.o
>
> I don't understand the rules in that Makefile.

You need to look at these three lines:

infiniband-$(CONFIG_INFINIBAND_ADDR_TRANS) := rdma_cm.o

obj-$(CONFIG_INFINIBAND) += ib_core.o ib_cm.o iw_cm.o \
$(infiniband-y)

rdma_cm-y := cma.o

cma.o is built into rdma_cm.ko if both CONFIG_INFINIBAND_ADDR_TRANS
and CONFIG_INFINIBAND are enabled. The first line is just another
syntax for writing

ifdef CONFIG_INFINIBAND_ADDR_TRANS
obj-$(CONFIG_INFINIBAND) += rdma_cm.o
endif

Arnd

2018-05-30 23:02:45

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [PATCH] iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency

On Thu, May 31, 2018 at 12:40:54AM +0200, Arnd Bergmann wrote:
> > On 5/30/2018 5:25 PM, Jason Gunthorpe wrote:
> >> On Wed, May 30, 2018 at 05:10:35PM -0500, Steve Wise wrote:
> >>>
> >>> On 5/30/2018 5:04 PM, Jason Gunthorpe wrote:
> >>>> On Wed, May 30, 2018 at 11:58:18PM +0200, Arnd Bergmann wrote:
> >>>>> The newly added fill_res_ep_entry function fails to link if
> >>>>> CONFIG_INFINIBAND_ADDR_TRANS is not set:
> >>>>>
> >>>>> drivers/infiniband/hw/cxgb4/restrack.o: In function `fill_res_ep_entry':
> >>>>> restrack.c:(.text+0x3cc): undefined reference to `rdma_res_to_id'
> >>>>> restrack.c:(.text+0x3d0): undefined reference to `rdma_iw_cm_id'
> >>>>>
> >>>>> This adds a Kconfig dependency for the driver.
> >>>>>
> >>>>> Fixes: 116aeb887371 ("iw_cxgb4: provide detailed provider-specific CM_ID information")
> >>>>> Signed-off-by: Arnd Bergmann <[email protected]>
> >>>>> drivers/infiniband/hw/cxgb4/Kconfig | 1 +
> >>>>> 1 file changed, 1 insertion(+)
> >>>> Oh, I think we need to solve this with maybe a header fill null stub
> >>>> instead..
> >>>>
> >>>> We don't want to disable drivers just because a user interface is
> >>>> disabled.
> >>>>
> >>> Why does CONFIG_INFINIBAND_ADDR_TRANS disable building rdma_cm.ko? That
> >>> is not correct.
> >> That seems like a reasonable thing to do..
> > rdma_ucm.ko is for usermode users, rdma_cm.ko is for kernel users, and
> > is required for iwarp drivers. It seems rdma_cm.ko is not being
> > compiled if ADDR_TRANS is not set.

I think the intention was to completely disable rdma-cm, including all
support for rx'ing remote packets? Greg?

If this is required for iwarp then Arnd's patch is probably the right
way to go..

Jason

2018-05-31 04:05:10

by Greg Thelen

[permalink] [raw]
Subject: Re: [PATCH] iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency

On Wed, May 30, 2018 at 4:01 PM Jason Gunthorpe <[email protected]> wrote:

> On Thu, May 31, 2018 at 12:40:54AM +0200, Arnd Bergmann wrote:
> > > On 5/30/2018 5:25 PM, Jason Gunthorpe wrote:
> > >> On Wed, May 30, 2018 at 05:10:35PM -0500, Steve Wise wrote:
> > >>>
> > >>> On 5/30/2018 5:04 PM, Jason Gunthorpe wrote:
> > >>>> On Wed, May 30, 2018 at 11:58:18PM +0200, Arnd Bergmann wrote:
> > >>>>> The newly added fill_res_ep_entry function fails to link if
> > >>>>> CONFIG_INFINIBAND_ADDR_TRANS is not set:
> > >>>>>
> > >>>>> drivers/infiniband/hw/cxgb4/restrack.o: In function
`fill_res_ep_entry':
> > >>>>> restrack.c:(.text+0x3cc): undefined reference to `rdma_res_to_id'
> > >>>>> restrack.c:(.text+0x3d0): undefined reference to `rdma_iw_cm_id'
> > >>>>>
> > >>>>> This adds a Kconfig dependency for the driver.
> > >>>>>
> > >>>>> Fixes: 116aeb887371 ("iw_cxgb4: provide detailed
provider-specific CM_ID information")
> > >>>>> Signed-off-by: Arnd Bergmann <[email protected]>
> > >>>>> drivers/infiniband/hw/cxgb4/Kconfig | 1 +
> > >>>>> 1 file changed, 1 insertion(+)
> > >>>> Oh, I think we need to solve this with maybe a header fill null
stub
> > >>>> instead..
> > >>>>
> > >>>> We don't want to disable drivers just because a user interface is
> > >>>> disabled.
> > >>>>
> > >>> Why does CONFIG_INFINIBAND_ADDR_TRANS disable building rdma_cm.ko?
That
> > >>> is not correct.
> > >> That seems like a reasonable thing to do..
> > > rdma_ucm.ko is for usermode users, rdma_cm.ko is for kernel users, and
> > > is required for iwarp drivers. It seems rdma_cm.ko is not being
> > > compiled if ADDR_TRANS is not set.

> I think the intention was to completely disable rdma-cm, including all
> support for rx'ing remote packets? Greg?

Yes. That's my goal when INFINIBAND_ADDR_TRANS is unset.

> If this is required for iwarp then Arnd's patch is probably the right
> way to go..

> Jason

Agreed.
Acked-by: Greg Thelen <[email protected]>

2018-05-31 18:43:58

by Doug Ledford

[permalink] [raw]
Subject: Re: [PATCH] iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency

On Wed, 2018-05-30 at 21:03 -0700, Greg Thelen wrote:
> On Wed, May 30, 2018 at 4:01 PM Jason Gunthorpe <[email protected]> wrote:
>
> > On Thu, May 31, 2018 at 12:40:54AM +0200, Arnd Bergmann wrote:
> > > > On 5/30/2018 5:25 PM, Jason Gunthorpe wrote:
> > > > > On Wed, May 30, 2018 at 05:10:35PM -0500, Steve Wise wrote:
> > > > > >
> > > > > > On 5/30/2018 5:04 PM, Jason Gunthorpe wrote:
> > > > > > > On Wed, May 30, 2018 at 11:58:18PM +0200, Arnd Bergmann wrote:
> > > > > > > > The newly added fill_res_ep_entry function fails to link if
> > > > > > > > CONFIG_INFINIBAND_ADDR_TRANS is not set:
> > > > > > > >
> > > > > > > > drivers/infiniband/hw/cxgb4/restrack.o: In function
>
> `fill_res_ep_entry':
> > > > > > > > restrack.c:(.text+0x3cc): undefined reference to `rdma_res_to_id'
> > > > > > > > restrack.c:(.text+0x3d0): undefined reference to `rdma_iw_cm_id'
> > > > > > > >
> > > > > > > > This adds a Kconfig dependency for the driver.
> > > > > > > >
> > > > > > > > Fixes: 116aeb887371 ("iw_cxgb4: provide detailed
>
> provider-specific CM_ID information")
> > > > > > > > Signed-off-by: Arnd Bergmann <[email protected]>
> > > > > > > > drivers/infiniband/hw/cxgb4/Kconfig | 1 +
> > > > > > > > 1 file changed, 1 insertion(+)
> > > > > > >
> > > > > > > Oh, I think we need to solve this with maybe a header fill null
>
> stub
> > > > > > > instead..
> > > > > > >
> > > > > > > We don't want to disable drivers just because a user interface is
> > > > > > > disabled.
> > > > > > >
> > > > > >
> > > > > > Why does CONFIG_INFINIBAND_ADDR_TRANS disable building rdma_cm.ko?
>
> That
> > > > > > is not correct.
> > > > >
> > > > > That seems like a reasonable thing to do..
> > > >
> > > > rdma_ucm.ko is for usermode users, rdma_cm.ko is for kernel users, and
> > > > is required for iwarp drivers. It seems rdma_cm.ko is not being
> > > > compiled if ADDR_TRANS is not set.
> > I think the intention was to completely disable rdma-cm, including all
> > support for rx'ing remote packets? Greg?
>
> Yes. That's my goal when INFINIBAND_ADDR_TRANS is unset.
>
> > If this is required for iwarp then Arnd's patch is probably the right
> > way to go..
> > Jason
>
> Agreed.
> Acked-by: Greg Thelen <[email protected]>

If that's the case, then there should be a NOTE: in the Kconfig that
disabling the connection manager completely disables iWARP hardware.

I don't really think I like this approach though. At a minimum if you
are going to make iWARP totally dependent on rdmacm, then there is zero
reason that iw_cm.o should be part of the obj-$(CONFIG_INFINIBAND)
Makefile recipe when ADDR_TRANS is disabled.

We can take this patch as a band-aid, but IMO it's either incomplete or
simply not the right solution.

--
Doug Ledford <[email protected]>
GPG KeyID: B826A3330E572FDD
Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD


Attachments:
signature.asc (849.00 B)
This is a digitally signed message part

2018-06-04 15:37:40

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [PATCH] iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency

On Wed, May 30, 2018 at 11:58:18PM +0200, Arnd Bergmann wrote:
> The newly added fill_res_ep_entry function fails to link if
> CONFIG_INFINIBAND_ADDR_TRANS is not set:
>
> drivers/infiniband/hw/cxgb4/restrack.o: In function `fill_res_ep_entry':
> restrack.c:(.text+0x3cc): undefined reference to `rdma_res_to_id'
> restrack.c:(.text+0x3d0): undefined reference to `rdma_iw_cm_id'
>
> This adds a Kconfig dependency for the driver.
>
> Fixes: 116aeb887371 ("iw_cxgb4: provide detailed provider-specific CM_ID information")
> Signed-off-by: Arnd Bergmann <[email protected]>
> Acked-by: Greg Thelen <[email protected]>
> ---
> drivers/infiniband/hw/cxgb4/Kconfig | 1 +
> 1 file changed, 1 insertion(+)

Applied to for-next

Thanks,
Jason

2018-06-04 23:09:36

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [PATCH] iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency

On Thu, May 31, 2018 at 02:40:59PM -0400, Doug Ledford wrote:
> On Wed, 2018-05-30 at 21:03 -0700, Greg Thelen wrote:
> > On Wed, May 30, 2018 at 4:01 PM Jason Gunthorpe <[email protected]> wrote:
> >
> > > On Thu, May 31, 2018 at 12:40:54AM +0200, Arnd Bergmann wrote:
> > > > > On 5/30/2018 5:25 PM, Jason Gunthorpe wrote:
> > > > > > On Wed, May 30, 2018 at 05:10:35PM -0500, Steve Wise wrote:
> > > > > > >
> > > > > > > On 5/30/2018 5:04 PM, Jason Gunthorpe wrote:
> > > > > > > > On Wed, May 30, 2018 at 11:58:18PM +0200, Arnd Bergmann wrote:
> > > > > > > > > The newly added fill_res_ep_entry function fails to link if
> > > > > > > > > CONFIG_INFINIBAND_ADDR_TRANS is not set:
> > > > > > > > >
> > > > > > > > > drivers/infiniband/hw/cxgb4/restrack.o: In function
> >
> > `fill_res_ep_entry':
> > > > > > > > > restrack.c:(.text+0x3cc): undefined reference to `rdma_res_to_id'
> > > > > > > > > restrack.c:(.text+0x3d0): undefined reference to `rdma_iw_cm_id'
> > > > > > > > >
> > > > > > > > > This adds a Kconfig dependency for the driver.
> > > > > > > > >
> > > > > > > > > Fixes: 116aeb887371 ("iw_cxgb4: provide detailed
> >
> > provider-specific CM_ID information")
> > > > > > > > > Signed-off-by: Arnd Bergmann <[email protected]>
> > > > > > > > > drivers/infiniband/hw/cxgb4/Kconfig | 1 +
> > > > > > > > > 1 file changed, 1 insertion(+)
> > > > > > > >
> > > > > > > > Oh, I think we need to solve this with maybe a header fill null
> >
> > stub
> > > > > > > > instead..
> > > > > > > >
> > > > > > > > We don't want to disable drivers just because a user interface is
> > > > > > > > disabled.
> > > > > > > >
> > > > > > >
> > > > > > > Why does CONFIG_INFINIBAND_ADDR_TRANS disable building rdma_cm.ko?
> >
> > That
> > > > > > > is not correct.
> > > > > >
> > > > > > That seems like a reasonable thing to do..
> > > > >
> > > > > rdma_ucm.ko is for usermode users, rdma_cm.ko is for kernel users, and
> > > > > is required for iwarp drivers. It seems rdma_cm.ko is not being
> > > > > compiled if ADDR_TRANS is not set.
> > > I think the intention was to completely disable rdma-cm, including all
> > > support for rx'ing remote packets? Greg?
> >
> > Yes. That's my goal when INFINIBAND_ADDR_TRANS is unset.
> >
> > > If this is required for iwarp then Arnd's patch is probably the right
> > > way to go..
> > > Jason
> >
> > Agreed.
> > Acked-by: Greg Thelen <[email protected]>
>
> If that's the case, then there should be a NOTE: in the Kconfig that
> disabling the connection manager completely disables iWARP hardware.
>
> I don't really think I like this approach though. At a minimum if you
> are going to make iWARP totally dependent on rdmacm, then there is zero
> reason that iw_cm.o should be part of the obj-$(CONFIG_INFINIBAND)
> Makefile recipe when ADDR_TRANS is disabled.

This makes sense, Greg, can you send a followup patch with these
items? I know this series has been tough..

Thanks,
Jason

2018-06-07 08:12:07

by Greg Thelen

[permalink] [raw]
Subject: Re: [PATCH] iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency

On Mon, Jun 4, 2018 at 4:07 PM Jason Gunthorpe <[email protected]> wrote:
>
> On Thu, May 31, 2018 at 02:40:59PM -0400, Doug Ledford wrote:
> > On Wed, 2018-05-30 at 21:03 -0700, Greg Thelen wrote:
> > > On Wed, May 30, 2018 at 4:01 PM Jason Gunthorpe <[email protected]> wrote:
> > >
> > > > On Thu, May 31, 2018 at 12:40:54AM +0200, Arnd Bergmann wrote:
> > > > > > On 5/30/2018 5:25 PM, Jason Gunthorpe wrote:
> > > > > > > On Wed, May 30, 2018 at 05:10:35PM -0500, Steve Wise wrote:
> > > > > > > >
> > > > > > > > On 5/30/2018 5:04 PM, Jason Gunthorpe wrote:
> > > > > > > > > On Wed, May 30, 2018 at 11:58:18PM +0200, Arnd Bergmann wrote:
> > > > > > > > > > The newly added fill_res_ep_entry function fails to link if
> > > > > > > > > > CONFIG_INFINIBAND_ADDR_TRANS is not set:
> > > > > > > > > >
> > > > > > > > > > drivers/infiniband/hw/cxgb4/restrack.o: In function
> > >
> > > `fill_res_ep_entry':
> > > > > > > > > > restrack.c:(.text+0x3cc): undefined reference to `rdma_res_to_id'
> > > > > > > > > > restrack.c:(.text+0x3d0): undefined reference to `rdma_iw_cm_id'
> > > > > > > > > >
> > > > > > > > > > This adds a Kconfig dependency for the driver.
> > > > > > > > > >
> > > > > > > > > > Fixes: 116aeb887371 ("iw_cxgb4: provide detailed
> > >
> > > provider-specific CM_ID information")
> > > > > > > > > > Signed-off-by: Arnd Bergmann <[email protected]>
> > > > > > > > > > drivers/infiniband/hw/cxgb4/Kconfig | 1 +
> > > > > > > > > > 1 file changed, 1 insertion(+)
> > > > > > > > >
> > > > > > > > > Oh, I think we need to solve this with maybe a header fill null
> > >
> > > stub
> > > > > > > > > instead..
> > > > > > > > >
> > > > > > > > > We don't want to disable drivers just because a user interface is
> > > > > > > > > disabled.
> > > > > > > > >
> > > > > > > >
> > > > > > > > Why does CONFIG_INFINIBAND_ADDR_TRANS disable building rdma_cm.ko?
> > >
> > > That
> > > > > > > > is not correct.
> > > > > > >
> > > > > > > That seems like a reasonable thing to do..
> > > > > >
> > > > > > rdma_ucm.ko is for usermode users, rdma_cm.ko is for kernel users, and
> > > > > > is required for iwarp drivers. It seems rdma_cm.ko is not being
> > > > > > compiled if ADDR_TRANS is not set.
> > > > I think the intention was to completely disable rdma-cm, including all
> > > > support for rx'ing remote packets? Greg?
> > >
> > > Yes. That's my goal when INFINIBAND_ADDR_TRANS is unset.
> > >
> > > > If this is required for iwarp then Arnd's patch is probably the right
> > > > way to go..
> > > > Jason
> > >
> > > Agreed.
> > > Acked-by: Greg Thelen <[email protected]>
> >
> > If that's the case, then there should be a NOTE: in the Kconfig that
> > disabling the connection manager completely disables iWARP hardware.
> >
> > I don't really think I like this approach though. At a minimum if you
> > are going to make iWARP totally dependent on rdmacm, then there is zero
> > reason that iw_cm.o should be part of the obj-$(CONFIG_INFINIBAND)
> > Makefile recipe when ADDR_TRANS is disabled.
>
> This makes sense, Greg, can you send a followup patch with these
> items? I know this series has been tough..
>
> Thanks,
> Jason

Ack. Sorry for delay. I'll take a look at this in a day or two. Let
me know if it's more urgent.

2018-06-07 19:09:33

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [PATCH] iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency

On Thu, Jun 07, 2018 at 01:10:39AM -0700, Greg Thelen wrote:
> > > I don't really think I like this approach though. At a minimum if you
> > > are going to make iWARP totally dependent on rdmacm, then there is zero
> > > reason that iw_cm.o should be part of the obj-$(CONFIG_INFINIBAND)
> > > Makefile recipe when ADDR_TRANS is disabled.
> >
> > This makes sense, Greg, can you send a followup patch with these
> > items? I know this series has been tough..
> >
> > Thanks,
> > Jason
>
> Ack. Sorry for delay. I'll take a look at this in a day or two. Let
> me know if it's more urgent.

No rush, sometime in the next several weeks is fine

Jason