Subject: Re: [RFC PATCH 00/11] IB/Verbs: IB Management Helpers

From: Michael Wang <[email-masked]>
Date: Tue, 07 Apr 2015 09:31:13 +0200

On 04/06/2015 10:22 PM, ira.weiny wrote:
> On Fri, Mar 27, 2015 at 04:39:54PM +0100, Michael Wang wrote:
>> There are plenty of lengthy code to check the transport type of IB device,
>> or the link layer type of it's port, but actually we are just speculating
>> whether a particular management is supported by the device/port.
> Michael,
>
> There was a lot of input on this patch series which I believe indicates we
> would like to move forward.  Were you working through another version of the
> series with the suggested changes?
Thanks for the remind, Ira :-)

I'm working on next version these days, I've add a new callback
query_transport() and implement it for all the HW driver, there are
some issue during reform the cma stuff previously, but now I've
finished most of the part.

I'll separate the work to small patch so review could be easier, and
give some description as well as I can, it will be send out in this week ;-)

Regards,
Michael Wang

>
> Thanks,
> Ira
>
>
>> Thus instead of inferring, we should have our own mechanism for
>> IB management capability/protocol checking, several proposals below.
>>
>> This patch set is the pioneer which try to collecting all the cases where
>> a management helper applicable, and put all the speculating logical together,
>> in order to be easily integrated to the new querying mechanism in future.
>>
>> TODO:
>>     The helper in patch 10 and 11 are still to be classified, that is
>>     cap_ib() and cap_eth().
>>
>>     The name/description of each helper may not correct enough, those folks
>>     who are familiar with these particular parts, your suggestion would be
>>     invaluable ;-)
>>
>> Proposals:
>>     Sean:
>>     https://www.mail-archive.com/[email-masked]/msg23339.html
>>     Doug:
>>     https://www.mail-archive.com/[email-masked]/msg23418.html
>>     Jason:
>>     https://www.mail-archive.com/[email-masked]/msg23425.html
>>
>> Michael Wang (11):
>>     [PATCH 01/11] IB/Verbs: Use helpers to check transport and link layer
>>     [RFC PATCH 02/11] IB/Verbs: Use management helper tech_iboe() for iboe-check
>>     [RFC PATCH 03/11] IB/Verbs: Use management helper has_mad() for mad-check
>>     [RFC PATCH 04/11] IB/Verbs: Use management helper cap_smi() for smi-check
>>     [RFC PATCH 05/11] IB/Verbs: Use management helper has_cm() for cm-check
>>     [RFC PATCH 06/11] IB/Verbs: Use management helper has_sa() and cap_sa() for sa-check
>>     [RFC PATCH 07/11] IB/Verbs: Use management helper has_mcast() and cap_mcast() for mcast-check
>>     [RFC PATCH 08/11] IB/Verbs: Use management helper has_iwarp() for iwarp-check
>>     [RFC PATCH 09/11] IB/Verbs: Use management helper has_ipoib() and cap_ipoib() for ipoib-check
>>     [RFC PATCH 10/11] IB/Verbs: Use management helper cap_ib() for ib-check
>>     [RFC PATCH 11/11] IB/Verbs: Use management helper cap_eth() for eth-check
>>
>> ---
>>  drivers/infiniband/core/agent.c           |    6
>>  drivers/infiniband/core/cm.c              |    6
>>  drivers/infiniband/core/cma.c             |   79 ++++------
>>  drivers/infiniband/core/mad.c             |   18 +-
>>  drivers/infiniband/core/multicast.c       |   30 +---
>>  drivers/infiniband/core/sa_query.c        |   42 ++---
>>  drivers/infiniband/core/ucm.c             |    8 -
>>  drivers/infiniband/core/user_mad.c        |    6
>>  drivers/infiniband/core/verbs.c           |   14 -
>>  drivers/infiniband/hw/mlx4/ah.c           |    6
>>  drivers/infiniband/hw/mlx4/cq.c           |   10 -
>>  drivers/infiniband/hw/mlx4/mad.c          |   36 +---
>>  drivers/infiniband/hw/mlx4/main.c         |   23 +--
>>  drivers/infiniband/hw/mlx4/mlx4_ib.h      |    6
>>  drivers/infiniband/hw/mlx4/qp.c           |   57 ++-----
>>  drivers/infiniband/hw/mlx4/sysfs.c        |   16 --
>>  drivers/infiniband/ulp/ipoib/ipoib_main.c |   18 +-
>>  include/rdma/ib_verbs.h                   |  218 ++++++++++++++++++++++++++++++
>>  net/sunrpc/xprtrdma/svc_rdma_recvfrom.c   |    8 -
>>  19 files changed, 381 insertions(+), 226 deletions(-)
>>