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

Breno Leitao posted 1 patch 1 year, 11 months ago
drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH net] bnxt_en: Make PTP timestamp HWRM more silent
Posted by Breno Leitao 1 year, 11 months ago
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%2FFI4EJezcfd1@gmail.com/
Signed-off-by: Breno Leitao <leitao@debian.org>
---
 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
Re: [PATCH net] bnxt_en: Make PTP timestamp HWRM more silent
Posted by Pavan Chebbi 1 year, 11 months ago
On Thu, Jan 25, 2024 at 7:11 PM Breno Leitao <leitao@debian.org> 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%2FFI4EJezcfd1@gmail.com/
> Signed-off-by: Breno Leitao <leitao@debian.org>

LGTM, however, you may still need to add a proper fixes tag.
Re: [PATCH net] bnxt_en: Make PTP timestamp HWRM more silent
Posted by Breno Leitao 1 year, 11 months ago
On Thu, Jan 25, 2024 at 08:03:18PM +0530, Pavan Chebbi wrote:
> On Thu, Jan 25, 2024 at 7:11 PM Breno Leitao <leitao@debian.org> 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%2FFI4EJezcfd1@gmail.com/
> > Signed-off-by: Breno Leitao <leitao@debian.org>
> 
> 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.
Re: [PATCH net] bnxt_en: Make PTP timestamp HWRM more silent
Posted by Pavan Chebbi 1 year, 11 months ago
On Thu, Jan 25, 2024 at 8:23 PM Breno Leitao <leitao@debian.org> 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 <leitao@debian.org> 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%2FFI4EJezcfd1@gmail.com/
> > > Signed-off-by: Breno Leitao <leitao@debian.org>
> >
> > 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 <pavan.chebbi@broadcom.com>
Re: [PATCH net] bnxt_en: Make PTP timestamp HWRM more silent
Posted by Jakub Kicinski 1 year, 11 months ago
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 :)
Re: [PATCH net] bnxt_en: Make PTP timestamp HWRM more silent
Posted by Michael Chan 1 year, 11 months ago
On Thu, Jan 25, 2024 at 9:44 AM Jakub Kicinski <kuba@kernel.org> 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 <michael.chan@broadcom.com>