mbox series

[for-next,0/3] RDMA/hns: Add more debugging information for rdma-tool

Message ID 20230816091812.2899366-1-huangjunxian6@hisilicon.com (mailing list archive)
Headers show
Series RDMA/hns: Add more debugging information for rdma-tool | expand

Message

Junxian Huang Aug. 16, 2023, 9:18 a.m. UTC
1. #1: The first patch supports dumping QP/CQ/MR context entirely in raw
       data with rdma-tool.

2. #2: The second patch supports query of HW stats with rdma-tool.

3. #3: The last patch supports query of SW stats with rdma-tool.

Chengchang Tang (3):
  RDMA/hns: Dump whole QP/CQ/MR resource in raw
  RDMA/hns: Support hns HW stats
  RDMA/hns: Support hns SW stats

 drivers/infiniband/hw/hns/hns_roce_ah.c       |   6 +-
 drivers/infiniband/hw/hns/hns_roce_cmd.c      |  19 ++-
 drivers/infiniband/hw/hns/hns_roce_cq.c       |  15 +-
 drivers/infiniband/hw/hns/hns_roce_device.h   |  50 ++++++
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c    |  59 +++++++
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h    |   1 +
 drivers/infiniband/hw/hns/hns_roce_main.c     | 152 +++++++++++++++++-
 drivers/infiniband/hw/hns/hns_roce_mr.c       |  26 ++-
 drivers/infiniband/hw/hns/hns_roce_pd.c       |  10 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c       |   8 +-
 drivers/infiniband/hw/hns/hns_roce_restrack.c |  75 +--------
 drivers/infiniband/hw/hns/hns_roce_srq.c      |   6 +-
 12 files changed, 325 insertions(+), 102 deletions(-)

--
2.30.0

Comments

Leon Romanovsky Aug. 19, 2023, 11:32 a.m. UTC | #1
On Wed, Aug 16, 2023 at 05:18:09PM +0800, Junxian Huang wrote:
> 1. #1: The first patch supports dumping QP/CQ/MR context entirely in raw
>        data with rdma-tool.
> 
> 2. #2: The second patch supports query of HW stats with rdma-tool.
> 
> 3. #3: The last patch supports query of SW stats with rdma-tool.
> 
> Chengchang Tang (3):
>   RDMA/hns: Dump whole QP/CQ/MR resource in raw
>   RDMA/hns: Support hns HW stats

These two patches generate static analyzer warnings.
➜  kernel git:(wip/leon-for-next) mkt ci --rev 0a68261bbbe5
0a68261bbbe5 (HEAD -> build) RDMA/hns: Dump whole QP/CQ/MR resource in raw
WARNING: 'informations' may be misspelled - perhaps 'information'?
#7:
rdma-tool, but these informations are not enough. It is very
                     ^^^^^^^^^^^^
➜  kernel git:(wip/leon-for-next) mkt ci
5a87279591a1 (HEAD -> build) RDMA/hns: Support hns HW stats
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1651:35: warning: restricted __le16 degrades to integer

>   RDMA/hns: Support hns SW stats

This is not support SW stats, but actually implementation of SW
statistics which you exposed through rdmatool. That tool is
not right place for such information and debugfs will be better
fit.

Thanks

> 
>  drivers/infiniband/hw/hns/hns_roce_ah.c       |   6 +-
>  drivers/infiniband/hw/hns/hns_roce_cmd.c      |  19 ++-
>  drivers/infiniband/hw/hns/hns_roce_cq.c       |  15 +-
>  drivers/infiniband/hw/hns/hns_roce_device.h   |  50 ++++++
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.c    |  59 +++++++
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.h    |   1 +
>  drivers/infiniband/hw/hns/hns_roce_main.c     | 152 +++++++++++++++++-
>  drivers/infiniband/hw/hns/hns_roce_mr.c       |  26 ++-
>  drivers/infiniband/hw/hns/hns_roce_pd.c       |  10 +-
>  drivers/infiniband/hw/hns/hns_roce_qp.c       |   8 +-
>  drivers/infiniband/hw/hns/hns_roce_restrack.c |  75 +--------
>  drivers/infiniband/hw/hns/hns_roce_srq.c      |   6 +-
>  12 files changed, 325 insertions(+), 102 deletions(-)
> 
> --
> 2.30.0
>
Junxian Huang Aug. 24, 2023, 7:58 a.m. UTC | #2
On 2023/8/19 19:32, Leon Romanovsky wrote:
> On Wed, Aug 16, 2023 at 05:18:09PM +0800, Junxian Huang wrote:
>> 1. #1: The first patch supports dumping QP/CQ/MR context entirely in raw
>>        data with rdma-tool.
>>
>> 2. #2: The second patch supports query of HW stats with rdma-tool.
>>
>> 3. #3: The last patch supports query of SW stats with rdma-tool.
>>
>> Chengchang Tang (3):
>>   RDMA/hns: Dump whole QP/CQ/MR resource in raw
>>   RDMA/hns: Support hns HW stats
> 
> These two patches generate static analyzer warnings.
> ➜  kernel git:(wip/leon-for-next) mkt ci --rev 0a68261bbbe5
> 0a68261bbbe5 (HEAD -> build) RDMA/hns: Dump whole QP/CQ/MR resource in raw
> WARNING: 'informations' may be misspelled - perhaps 'information'?
> #7:
> rdma-tool, but these informations are not enough. It is very
>                      ^^^^^^^^^^^^
> ➜  kernel git:(wip/leon-for-next) mkt ci
> 5a87279591a1 (HEAD -> build) RDMA/hns: Support hns HW stats
> drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1651:35: warning: restricted __le16 degrades to integer
> 

OK,I'll fix them in V2.

>>   RDMA/hns: Support hns SW stats
> 
> This is not support SW stats, but actually implementation of SW
> statistics which you exposed through rdmatool. That tool is

Yes,

> not right place for such information and debugfs will be better
> fit.
> 
> Thanks
> 

but from what I have seen, efa and bnxt_re drivers also use rdmatool
to expose SW statisics.

And could you please explain why rdmatool is not suitable for this?

Junxian

>>
>>  drivers/infiniband/hw/hns/hns_roce_ah.c       |   6 +-
>>  drivers/infiniband/hw/hns/hns_roce_cmd.c      |  19 ++-
>>  drivers/infiniband/hw/hns/hns_roce_cq.c       |  15 +-
>>  drivers/infiniband/hw/hns/hns_roce_device.h   |  50 ++++++
>>  drivers/infiniband/hw/hns/hns_roce_hw_v2.c    |  59 +++++++
>>  drivers/infiniband/hw/hns/hns_roce_hw_v2.h    |   1 +
>>  drivers/infiniband/hw/hns/hns_roce_main.c     | 152 +++++++++++++++++-
>>  drivers/infiniband/hw/hns/hns_roce_mr.c       |  26 ++-
>>  drivers/infiniband/hw/hns/hns_roce_pd.c       |  10 +-
>>  drivers/infiniband/hw/hns/hns_roce_qp.c       |   8 +-
>>  drivers/infiniband/hw/hns/hns_roce_restrack.c |  75 +--------
>>  drivers/infiniband/hw/hns/hns_roce_srq.c      |   6 +-
>>  12 files changed, 325 insertions(+), 102 deletions(-)
>>
>> --
>> 2.30.0
>>
Leon Romanovsky Aug. 28, 2023, 6:03 p.m. UTC | #3
On Thu, Aug 24, 2023 at 03:58:15PM +0800, Junxian Huang wrote:
> 
> 
> On 2023/8/19 19:32, Leon Romanovsky wrote:
> > On Wed, Aug 16, 2023 at 05:18:09PM +0800, Junxian Huang wrote:
> >> 1. #1: The first patch supports dumping QP/CQ/MR context entirely in raw
> >>        data with rdma-tool.
> >>
> >> 2. #2: The second patch supports query of HW stats with rdma-tool.
> >>
> >> 3. #3: The last patch supports query of SW stats with rdma-tool.
> >>
> >> Chengchang Tang (3):
> >>   RDMA/hns: Dump whole QP/CQ/MR resource in raw
> >>   RDMA/hns: Support hns HW stats
> > 
> > These two patches generate static analyzer warnings.
> > ➜  kernel git:(wip/leon-for-next) mkt ci --rev 0a68261bbbe5
> > 0a68261bbbe5 (HEAD -> build) RDMA/hns: Dump whole QP/CQ/MR resource in raw
> > WARNING: 'informations' may be misspelled - perhaps 'information'?
> > #7:
> > rdma-tool, but these informations are not enough. It is very
> >                      ^^^^^^^^^^^^
> > ➜  kernel git:(wip/leon-for-next) mkt ci
> > 5a87279591a1 (HEAD -> build) RDMA/hns: Support hns HW stats
> > drivers/infiniband/hw/hns/hns_roce_hw_v2.c:1651:35: warning: restricted __le16 degrades to integer
> > 
> 
> OK,I'll fix them in V2.
> 
> >>   RDMA/hns: Support hns SW stats
> > 
> > This is not support SW stats, but actually implementation of SW
> > statistics which you exposed through rdmatool. That tool is
> 
> Yes,
> 
> > not right place for such information and debugfs will be better
> > fit.
> > 
> > Thanks
> > 
> 
> but from what I have seen, efa and bnxt_re drivers also use rdmatool
> to expose SW statisics.

I afraid that it was missed in review.

> 
> And could you please explain why rdmatool is not suitable for this?

IMHO, SW statistics are too broad and too coupled with the code to be
really useful in rdmatool.

Let's take an example, your newly added counter in modify QP.
It counts number of failure in hns_roce_modify_qp(), but that
function returns error in such case and users will see it anyway.

So what will give this newly added counter in addition to already known
by users? The answer is nothing and that answer is almost always applicable
to SW statistics.

It is unlikely that we can remove from EFA and bnxt_re already added
counters, but if we can, it will be great.

Thanks

> 
> Junxian
> 
> >>
> >>  drivers/infiniband/hw/hns/hns_roce_ah.c       |   6 +-
> >>  drivers/infiniband/hw/hns/hns_roce_cmd.c      |  19 ++-
> >>  drivers/infiniband/hw/hns/hns_roce_cq.c       |  15 +-
> >>  drivers/infiniband/hw/hns/hns_roce_device.h   |  50 ++++++
> >>  drivers/infiniband/hw/hns/hns_roce_hw_v2.c    |  59 +++++++
> >>  drivers/infiniband/hw/hns/hns_roce_hw_v2.h    |   1 +
> >>  drivers/infiniband/hw/hns/hns_roce_main.c     | 152 +++++++++++++++++-
> >>  drivers/infiniband/hw/hns/hns_roce_mr.c       |  26 ++-
> >>  drivers/infiniband/hw/hns/hns_roce_pd.c       |  10 +-
> >>  drivers/infiniband/hw/hns/hns_roce_qp.c       |   8 +-
> >>  drivers/infiniband/hw/hns/hns_roce_restrack.c |  75 +--------
> >>  drivers/infiniband/hw/hns/hns_roce_srq.c      |   6 +-
> >>  12 files changed, 325 insertions(+), 102 deletions(-)
> >>
> >> --
> >> 2.30.0
> >>