Re: [RFC for-rc] IB/mlx4: Fix the fix for reading flow-counters

From: Haakon Bugge
Date: Tue Jan 11 2022 - 13:35:14 EST




> On 11 Jan 2022, at 17:39, Haakon Bugge <haakon.bugge@xxxxxxxxxx> wrote:
>
>
>
>> On 11 Jan 2022, at 17:38, Haakon Bugge <haakon.bugge@xxxxxxxxxx> wrote:
>>
>>
>>
>>> On 11 Jan 2022, at 17:35, Håkon Bugge <haakon.bugge@xxxxxxxxxx> wrote:
>>>
>>> It is not logical to call iboe_process_mad() when the link-layer is
>>> Infiniband. Nevertheless, the commit message in commit 43bfb9729ea8
>>> ("IB/mlx4: Fix use of flow-counters for process_mad") explicitly state
>>> that iboe_process_mad() shall be called.
>>>
>>> Without this fix, reading:
>>
>> # cat /sys/class/infiniband/mlx4_0/ports/2/counters_ext/port_xmit_data_64
>
> should read:
>
> # cat /sys/class/infiniband/mlx4_1/ports/1/counters_ext/port_xmit_data_64

Pleas ignore this RFC, as it is plain wrong. Sorry for the noise.


Thxs, Håkon

>
>
>>
>> (sorry, this line was of course taken as comment and was removed).
>>
>>
>> Thxs, Håkon
>>
>>
>>>
>>> yields "Invalid argument", whereas with this commit, said counter can
>>> be read.
>>>
>>> Please note that mlx4_1 is a VF.
>>>
>>> Fixes: 43bfb9729ea8 ("IB/mlx4: Fix use of flow-counters for process_mad")
>>> Signed-off-by: Håkon Bugge <haakon.bugge@xxxxxxxxxx>
>>> ---
>>> drivers/infiniband/hw/mlx4/mad.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/infiniband/hw/mlx4/mad.c b/drivers/infiniband/hw/mlx4/mad.c
>>> index d13ecbd..cc83782 100644
>>> --- a/drivers/infiniband/hw/mlx4/mad.c
>>> +++ b/drivers/infiniband/hw/mlx4/mad.c
>>> @@ -998,8 +998,8 @@ int mlx4_ib_process_mad(struct ib_device *ibdev, int mad_flags, u32 port_num,
>>> (in->mad_hdr.attr_id == IB_PMA_PORT_COUNTERS ||
>>> in->mad_hdr.attr_id == IB_PMA_PORT_COUNTERS_EXT ||
>>> in->mad_hdr.attr_id == IB_PMA_CLASS_PORT_INFO)))
>>> - return iboe_process_mad(ibdev, mad_flags, port_num,
>>> - in_wc, in_grh, in, out);
>>> + return ib_process_mad(ibdev, mad_flags, port_num,
>>> + in_wc, in_grh, in, out);
>>>
>>> return ib_process_mad(ibdev, mad_flags, port_num, in_wc, in_grh,
>>> in, out);
>>> --
>>> 1.8.3.1