2024-01-25 13:41:26

by Breno Leitao

[permalink] [raw]
Subject: [PATCH net] bnxt_en: Make PTP timestamp HWRM more silent

commit 056bce63c469 ("bnxt_en: Make PTP TX timestamp HWRM query silent")
changed a netdev_err() to netdev_WARN_ONCE().

netdev_WARN_ONCE() is it generates a kernel WARNING, which is bad, for
the following reasons:

* You do not a kernel warning if the firmware queries are late
* In busy networks, timestamp query failures fairly regularly
* A WARNING message doesn't bring much value, since the code path
is clear.
(This was discussed in-depth in [1])

Transform the netdev_WARN_ONCE() into a netdev_warn_once(), and print a
more well-behaved message, instead of a full WARN().

bnxt_en 0000:67:00.0 eth0: TS query for TX timer failed rc = fffffff5

[1] Link: https://lore.kernel.org/all/ZbDj%[email protected]/
Signed-off-by: Breno Leitao <[email protected]>
---
drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c
index adad188e38b8..cc07660330f5 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c
@@ -684,7 +684,7 @@ static void bnxt_stamp_tx_skb(struct bnxt *bp, struct sk_buff *skb)
timestamp.hwtstamp = ns_to_ktime(ns);
skb_tstamp_tx(ptp->tx_skb, &timestamp);
} else {
- netdev_WARN_ONCE(bp->dev,
+ netdev_warn_once(bp->dev,
"TS query for TX timer failed rc = %x\n", rc);
}

--
2.34.1



2024-01-25 15:08:37

by Breno Leitao

[permalink] [raw]
Subject: Re: [PATCH net] bnxt_en: Make PTP timestamp HWRM more silent

On Thu, Jan 25, 2024 at 08:03:18PM +0530, Pavan Chebbi wrote:
> On Thu, Jan 25, 2024 at 7:11 PM Breno Leitao <[email protected]> wrote:
> >
> > commit 056bce63c469 ("bnxt_en: Make PTP TX timestamp HWRM query silent")
> > changed a netdev_err() to netdev_WARN_ONCE().
> >
> > netdev_WARN_ONCE() is it generates a kernel WARNING, which is bad, for
> > the following reasons:
> >
> > * You do not a kernel warning if the firmware queries are late
> > * In busy networks, timestamp query failures fairly regularly
> > * A WARNING message doesn't bring much value, since the code path
> > is clear.
> > (This was discussed in-depth in [1])
> >
> > Transform the netdev_WARN_ONCE() into a netdev_warn_once(), and print a
> > more well-behaved message, instead of a full WARN().
> >
> > bnxt_en 0000:67:00.0 eth0: TS query for TX timer failed rc = fffffff5
> >
> > [1] Link: https://lore.kernel.org/all/ZbDj%[email protected]/
> > Signed-off-by: Breno Leitao <[email protected]>
>
> LGTM, however, you may still need to add a proper fixes tag.

Thanks. I didn't include a fix tag because it is not a fix per se, but,
I can easily send a v2 if this is needed.

2024-01-25 16:40:05

by Pavan Chebbi

[permalink] [raw]
Subject: Re: [PATCH net] bnxt_en: Make PTP timestamp HWRM more silent

On Thu, Jan 25, 2024 at 8:23 PM Breno Leitao <[email protected]> wrote:
>
> On Thu, Jan 25, 2024 at 08:03:18PM +0530, Pavan Chebbi wrote:
> > On Thu, Jan 25, 2024 at 7:11 PM Breno Leitao <[email protected]> wrote:
> > >
> > > commit 056bce63c469 ("bnxt_en: Make PTP TX timestamp HWRM query silent")
> > > changed a netdev_err() to netdev_WARN_ONCE().
> > >
> > > netdev_WARN_ONCE() is it generates a kernel WARNING, which is bad, for
> > > the following reasons:
> > >
> > > * You do not a kernel warning if the firmware queries are late
> > > * In busy networks, timestamp query failures fairly regularly
> > > * A WARNING message doesn't bring much value, since the code path
> > > is clear.
> > > (This was discussed in-depth in [1])
> > >
> > > Transform the netdev_WARN_ONCE() into a netdev_warn_once(), and print a
> > > more well-behaved message, instead of a full WARN().
> > >
> > > bnxt_en 0000:67:00.0 eth0: TS query for TX timer failed rc = fffffff5
> > >
> > > [1] Link: https://lore.kernel.org/all/ZbDj%[email protected]/
> > > Signed-off-by: Breno Leitao <[email protected]>
> >
> > LGTM, however, you may still need to add a proper fixes tag.
>
> Thanks. I didn't include a fix tag because it is not a fix per se, but,
> I can easily send a v2 if this is needed.

You have a point. But then in that case it should go to net-next, I think.
If you respin or otherwise,
Reviewed-by: Pavan Chebbi <[email protected]>


Attachments:
smime.p7s (4.11 kB)
S/MIME Cryptographic Signature

2024-01-25 17:44:57

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH net] bnxt_en: Make PTP timestamp HWRM more silent

On Thu, 25 Jan 2024 20:51:25 +0530 Pavan Chebbi wrote:
> > > LGTM, however, you may still need to add a proper fixes tag.
> >
> > Thanks. I didn't include a fix tag because it is not a fix per se, but,
> > I can easily send a v2 if this is needed.

We should pick it as a fix. If we put it in net-next and someone
complains cherry-picking it into net would be a PITA. And we shouldn't
spew WARN()s about known-to-be-occurring conditions, GregKH is pretty
clear about that.

If you can post the Fixes tag in a reply our apply scripts should pick
it up automatically. Or at least mine will :)

2024-01-25 18:41:02

by Pavan Chebbi

[permalink] [raw]
Subject: Re: [PATCH net] bnxt_en: Make PTP timestamp HWRM more silent

On Thu, Jan 25, 2024 at 7:11 PM Breno Leitao <[email protected]> wrote:
>
> commit 056bce63c469 ("bnxt_en: Make PTP TX timestamp HWRM query silent")
> changed a netdev_err() to netdev_WARN_ONCE().
>
> netdev_WARN_ONCE() is it generates a kernel WARNING, which is bad, for
> the following reasons:
>
> * You do not a kernel warning if the firmware queries are late
> * In busy networks, timestamp query failures fairly regularly
> * A WARNING message doesn't bring much value, since the code path
> is clear.
> (This was discussed in-depth in [1])
>
> Transform the netdev_WARN_ONCE() into a netdev_warn_once(), and print a
> more well-behaved message, instead of a full WARN().
>
> bnxt_en 0000:67:00.0 eth0: TS query for TX timer failed rc = fffffff5
>
> [1] Link: https://lore.kernel.org/all/ZbDj%[email protected]/
> Signed-off-by: Breno Leitao <[email protected]>

LGTM, however, you may still need to add a proper fixes tag.


Attachments:
smime.p7s (4.11 kB)
S/MIME Cryptographic Signature

2024-01-25 23:07:10

by Michael Chan

[permalink] [raw]
Subject: Re: [PATCH net] bnxt_en: Make PTP timestamp HWRM more silent

On Thu, Jan 25, 2024 at 9:44 AM Jakub Kicinski <[email protected]> wrote:
>
> On Thu, 25 Jan 2024 20:51:25 +0530 Pavan Chebbi wrote:
> > > > LGTM, however, you may still need to add a proper fixes tag.
> > >
> > > Thanks. I didn't include a fix tag because it is not a fix per se, but,
> > > I can easily send a v2 if this is needed.
>
> We should pick it as a fix. If we put it in net-next and someone
> complains cherry-picking it into net would be a PITA. And we shouldn't
> spew WARN()s about known-to-be-occurring conditions, GregKH is pretty
> clear about that.
>
> If you can post the Fixes tag in a reply our apply scripts should pick
> it up automatically. Or at least mine will :)

Fixes: 056bce63c469 ("bnxt_en: Make PTP TX timestamp HWRM query silent")
Reviewed-by: Michael Chan <[email protected]>


Attachments:
smime.p7s (4.11 kB)
S/MIME Cryptographic Signature

2024-01-26 22:12:09

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH net] bnxt_en: Make PTP timestamp HWRM more silent

Hello:

This patch was applied to netdev/net.git (main)
by Jakub Kicinski <[email protected]>:

On Thu, 25 Jan 2024 05:41:03 -0800 you wrote:
> commit 056bce63c469 ("bnxt_en: Make PTP TX timestamp HWRM query silent")
> changed a netdev_err() to netdev_WARN_ONCE().
>
> netdev_WARN_ONCE() is it generates a kernel WARNING, which is bad, for
> the following reasons:
>
> * You do not a kernel warning if the firmware queries are late
> * In busy networks, timestamp query failures fairly regularly
> * A WARNING message doesn't bring much value, since the code path
> is clear.
> (This was discussed in-depth in [1])
>
> [...]

Here is the summary with links:
- [net] bnxt_en: Make PTP timestamp HWRM more silent
https://git.kernel.org/netdev/net/c/281cb9d65a95

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html