mbox series

[SRU,F:linux-bluefield,v1,0/1] mlxbf_gige: increase MDIO polling rate to 5us

Message ID cover.1653000219.git.davthompson@nvidia.com
Headers show
Series mlxbf_gige: increase MDIO polling rate to 5us | expand

Message

David Thompson May 19, 2022, 10:49 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1974246

SRU Justification:

[Impact]

There is MDIO logic within the mlxbf_gige driver that currently
polls for completed transactions every 100us. This has been
reviewed and tested in the lab and found to be inefficient.

[Fix]

The fix is to modify the driver logic to increase the MDIO
polling rate to 5us. With this change the amount of
time spent waiting for the MDIO BUSY signal to de-assert
drops from ~100us to ~27us for each operation.

[Test Case]

The driver should function as before, specifically:
* driver probes successfully
* oob_net0 link comes up, as seen with "ifconfig -a"
* reset and power cycle testing toggle PHY hardware,
  and oob_net0 link still comes up

[Regression Potential]

This change affects all MDIO transactions to the board-level
PHY device, and as such, could cause a regression with PHY
communications. However, this change has been heavily tested.

David Thompson (1):
  mlxbf_gige: increase MDIO polling rate to 5us

 drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_mdio.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Tim Gardner May 20, 2022, 12:34 p.m. UTC | #1
This patch, though simple enough, has had no upstream review and should 
therefore be an 'UBUNTU: SAUCE:' patch until such time as it is included 
in net-next or linux-next. Furthermore, define a macro for the POLL time 
instead of duplicating magic numbers in the code.

rtg

On 5/19/22 16:49, David Thompson wrote:
> BugLink: https://bugs.launchpad.net/bugs/1974246
> 
> SRU Justification:
> 
> [Impact]
> 
> There is MDIO logic within the mlxbf_gige driver that currently
> polls for completed transactions every 100us. This has been
> reviewed and tested in the lab and found to be inefficient.
> 
> [Fix]
> 
> The fix is to modify the driver logic to increase the MDIO
> polling rate to 5us. With this change the amount of
> time spent waiting for the MDIO BUSY signal to de-assert
> drops from ~100us to ~27us for each operation.
> 
> [Test Case]
> 
> The driver should function as before, specifically:
> * driver probes successfully
> * oob_net0 link comes up, as seen with "ifconfig -a"
> * reset and power cycle testing toggle PHY hardware,
>    and oob_net0 link still comes up
> 
> [Regression Potential]
> 
> This change affects all MDIO transactions to the board-level
> PHY device, and as such, could cause a regression with PHY
> communications. However, this change has been heavily tested.
> 
> David Thompson (1):
>    mlxbf_gige: increase MDIO polling rate to 5us
> 
>   drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_mdio.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
David Thompson May 20, 2022, 2:46 p.m. UTC | #2
Hello Tim,

This patch was already applied to net-next (see attached email)

- Dave

> -----Original Message-----
> From: Tim Gardner <tim.gardner@canonical.com>
> Sent: Friday, May 20, 2022 8:35 AM
> To: David Thompson <davthompson@nvidia.com>; kernel-
> team@lists.ubuntu.com
> Cc: Meriton Tuli <meriton@nvidia.com>; Khoa Vo <khoav@nvidia.com>
> Subject: NAK: [SRU][F:linux-bluefield][PATCH v1 0/1] mlxbf_gige: increase MDIO
> polling rate to 5us
> 
> This patch, though simple enough, has had no upstream review and should
> therefore be an 'UBUNTU: SAUCE:' patch until such time as it is included in net-
> next or linux-next. Furthermore, define a macro for the POLL time instead of
> duplicating magic numbers in the code.
> 
> rtg
> 
> On 5/19/22 16:49, David Thompson wrote:
> > BugLink: https://bugs.launchpad.net/bugs/1974246
> >
> > SRU Justification:
> >
> > [Impact]
> >
> > There is MDIO logic within the mlxbf_gige driver that currently polls
> > for completed transactions every 100us. This has been reviewed and
> > tested in the lab and found to be inefficient.
> >
> > [Fix]
> >
> > The fix is to modify the driver logic to increase the MDIO polling
> > rate to 5us. With this change the amount of time spent waiting for the
> > MDIO BUSY signal to de-assert drops from ~100us to ~27us for each
> > operation.
> >
> > [Test Case]
> >
> > The driver should function as before, specifically:
> > * driver probes successfully
> > * oob_net0 link comes up, as seen with "ifconfig -a"
> > * reset and power cycle testing toggle PHY hardware,
> >    and oob_net0 link still comes up
> >
> > [Regression Potential]
> >
> > This change affects all MDIO transactions to the board-level PHY
> > device, and as such, could cause a regression with PHY communications.
> > However, this change has been heavily tested.
> >
> > David Thompson (1):
> >    mlxbf_gige: increase MDIO polling rate to 5us
> >
> >   drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_mdio.c | 6 ++++--
> >   1 file changed, 4 insertions(+), 2 deletions(-)
> >
> 
> --
> -----------
> Tim Gardner
> Canonical, Inc
Hello:

This patch was applied to netdev/net-next.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Thu, 5 May 2022 12:23:09 -0400 you wrote:
> This patch increases the polling rate used by the
> mlxbf_gige driver on the MDIO bus.  The previous
> polling rate was every 100us, and the new rate is
> every 5us.  With this change the amount of time
> spent waiting for the MDIO BUSY signal to de-assert
> drops from ~100us to ~27us for each operation.
>
> [...]

Here is the summary with links:
  - [net-next,v1] mlxbf_gige: increase MDIO polling rate to 5us
    https://git.kernel.org/netdev/net-next/c/0a02e282bad4

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
Tim Gardner May 20, 2022, 3:02 p.m. UTC | #3
Acked-by: Tim Gardner <tim.gardner@canonical.com>

The review should still have complained about the proliferation of magic 
numbers. Its one of my pet peeves.

rtg

On 5/20/22 08:46, David Thompson wrote:
> Hello Tim,
> 
> This patch was already applied to net-next (see attached email)
> 
> - Dave
> 
>> -----Original Message-----
>> From: Tim Gardner <tim.gardner@canonical.com>
>> Sent: Friday, May 20, 2022 8:35 AM
>> To: David Thompson <davthompson@nvidia.com>; kernel-
>> team@lists.ubuntu.com
>> Cc: Meriton Tuli <meriton@nvidia.com>; Khoa Vo <khoav@nvidia.com>
>> Subject: NAK: [SRU][F:linux-bluefield][PATCH v1 0/1] mlxbf_gige: increase MDIO
>> polling rate to 5us
>>
>> This patch, though simple enough, has had no upstream review and should
>> therefore be an 'UBUNTU: SAUCE:' patch until such time as it is included in net-
>> next or linux-next. Furthermore, define a macro for the POLL time instead of
>> duplicating magic numbers in the code.
>>
>> rtg
>>
>> On 5/19/22 16:49, David Thompson wrote:
>>> BugLink: https://bugs.launchpad.net/bugs/1974246
>>>
>>> SRU Justification:
>>>
>>> [Impact]
>>>
>>> There is MDIO logic within the mlxbf_gige driver that currently polls
>>> for completed transactions every 100us. This has been reviewed and
>>> tested in the lab and found to be inefficient.
>>>
>>> [Fix]
>>>
>>> The fix is to modify the driver logic to increase the MDIO polling
>>> rate to 5us. With this change the amount of time spent waiting for the
>>> MDIO BUSY signal to de-assert drops from ~100us to ~27us for each
>>> operation.
>>>
>>> [Test Case]
>>>
>>> The driver should function as before, specifically:
>>> * driver probes successfully
>>> * oob_net0 link comes up, as seen with "ifconfig -a"
>>> * reset and power cycle testing toggle PHY hardware,
>>>     and oob_net0 link still comes up
>>>
>>> [Regression Potential]
>>>
>>> This change affects all MDIO transactions to the board-level PHY
>>> device, and as such, could cause a regression with PHY communications.
>>> However, this change has been heavily tested.
>>>
>>> David Thompson (1):
>>>     mlxbf_gige: increase MDIO polling rate to 5us
>>>
>>>    drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_mdio.c | 6 ++++--
>>>    1 file changed, 4 insertions(+), 2 deletions(-)
>>>
>>
>> --
>> -----------
>> Tim Gardner
>> Canonical, Inc
Zachary Tahenakos May 25, 2022, 6:53 p.m. UTC | #4
Applied to f:bluefield.

Thanks,

Zack

On 5/19/22 6:49 PM, David Thompson wrote:
> BugLink: https://bugs.launchpad.net/bugs/1974246
>
> SRU Justification:
>
> [Impact]
>
> There is MDIO logic within the mlxbf_gige driver that currently
> polls for completed transactions every 100us. This has been
> reviewed and tested in the lab and found to be inefficient.
>
> [Fix]
>
> The fix is to modify the driver logic to increase the MDIO
> polling rate to 5us. With this change the amount of
> time spent waiting for the MDIO BUSY signal to de-assert
> drops from ~100us to ~27us for each operation.
>
> [Test Case]
>
> The driver should function as before, specifically:
> * driver probes successfully
> * oob_net0 link comes up, as seen with "ifconfig -a"
> * reset and power cycle testing toggle PHY hardware,
>    and oob_net0 link still comes up
>
> [Regression Potential]
>
> This change affects all MDIO transactions to the board-level
> PHY device, and as such, could cause a regression with PHY
> communications. However, this change has been heavily tested.
>
> David Thompson (1):
>    mlxbf_gige: increase MDIO polling rate to 5us
>
>   drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_mdio.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>