Re: [PATCH rdma-core] kernel-boot: modules: Load ib_umad for RoCE hardware

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 04/05/2018 07:03 PM, Jason Gunthorpe wrote:
> On Thu, Apr 05, 2018 at 06:34:44PM +0200, Nicolas Morey-Chaisemartin wrote:
>>
>> On 04/05/2018 06:05 PM, Jason Gunthorpe wrote:
>>> On Thu, Apr 05, 2018 at 05:40:46PM +0200, Nicolas Morey-Chaisemartin wrote:
>>>> On 04/05/2018 05:20 PM, Jason Gunthorpe wrote:
>>>>> On Thu, Apr 05, 2018 at 08:35:26AM +0200, Nicolas Morey-Chaisemartin wrote:
>>>>>> On 04/05/2018 12:21 AM, Jason Gunthorpe wrote:
>>>>>>> Is this just a userspace bug in ibstat or do roce ports actually implement umad?
>>>>>>>
>>>>>>> Jason
>>>>>> It seems like they don't.  It's just ibstat doing a umad_init()
>>>>>> before making few calls to umad_get_cas_names() and a few other that
>>>>>> seem to work through simple reads in sysfs (not umad related).
>>>>>>
>>>>>> Not sure what the clean way to fix this is. Removing the call to
>>>>>> umad_init feels dirty but it's simple enough.  Any ideas ?
>>>>> Maybe we should make umad_init not open the umad device if the link
>>>>> layer is ethernet, iwarp, etc?
>>>>>
>>>>> Hal?
>>>>>
>>>>> Jason
>>>> As there may be multiple device type in the same host, I don't think it'd be that easy.
>>>>
>>>> Right now the only thing umad_init() is doind is checking version against the kernel ABI (or something like that).
>>>> This is not required for a lot of the umad API as they only list stuff in sysfs.
>>> It is not umad_init we need to remove, but umad_open_port should not
>>> be called if the link layer is ethernet.
>>>
>>> Jason
>> For ibstat, I don't think it is calling umad_open_port.  It's only
>> call to umad are umad_init, umad_get_cas_names, umad_get_ca,
>> umad_get_ca_portguid and it doesn't seem like any of these call
>> umad_open_port.  The failure from ibstat is due to umad_init which
>> fails because there is no /sys/class/infiniband_mad/abi_version as
>> we only have RoCE hw and the ib_umad module is not automatically
>> loaded.
> Ooooh I see now.
>
> Yes, this is structured badly.. We should make umad_init into a NOP
> and learn the abi_version only when we need it.
>
> How about this?

Tested and approved:

adams:~ #  rmmod ib_umad
adams:~/rdma-core # ibstat
ibwarn: [27720] umad_init: can't read ABI version from /sys/class/infiniband_mad/abi_version (No such file or directory): is ib_umad module loaded?
ibpanic: [27720] main: can't init UMAD library: No such file or directory
adams:~/rdma-core # export LD_LIBRARY_PATH=$(pwd) # Use patched libibumad
adams:~/rdma-core # ibstat
CA 'bnxt_re0'
    CA type: Broadcom NetXtreme-C/E RoCE Driver HCA
    Number of ports: 1
    Firmware version: 20.8.29.0
    Hardware version: 0x14e4
    Node GUID: 0x9edc71fffeb69930
    System image GUID: 0x9edc71fffeb69930
    Port 1:
        State: Down
        Physical state: Disabled
        Rate: 100
        Base lid: 0
        LMC: 0
        SM lid: 0
        Capability mask: 0x041d0000
        Port GUID: 0x9edc71fffeb69930
        Link layer: Ethernet

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux