[RESEND,net-next] bnxt_en: use dev_consume_skb_any() in bnxt_tx_int

Message ID 20230710094747.943782-1-imagedong@tencent.com
State New
Headers
Series [RESEND,net-next] bnxt_en: use dev_consume_skb_any() in bnxt_tx_int |

Commit Message

Menglong Dong July 10, 2023, 9:47 a.m. UTC
  From: Menglong Dong <imagedong@tencent.com>

Replace dev_kfree_skb_any() with dev_consume_skb_any() in bnxt_tx_int()
to clear the unnecessary noise of "kfree_skb" event.

Signed-off-by: Menglong Dong <imagedong@tencent.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Leon Romanovsky July 11, 2023, 6:31 a.m. UTC | #1
On Mon, Jul 10, 2023 at 05:47:47PM +0800, menglong8.dong@gmail.com wrote:
> From: Menglong Dong <imagedong@tencent.com>
> 
> Replace dev_kfree_skb_any() with dev_consume_skb_any() in bnxt_tx_int()
> to clear the unnecessary noise of "kfree_skb" event.

Can you please be more specific in the commit message what "unnecessary
noise" you reduced?

> 
> Signed-off-by: Menglong Dong <imagedong@tencent.com>
> ---
>  drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

Thanks,
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
  
Menglong Dong July 11, 2023, 8:53 a.m. UTC | #2
On Tue, Jul 11, 2023 at 2:31 PM Leon Romanovsky <leon@kernel.org> wrote:
>
> On Mon, Jul 10, 2023 at 05:47:47PM +0800, menglong8.dong@gmail.com wrote:
> > From: Menglong Dong <imagedong@tencent.com>
> >
> > Replace dev_kfree_skb_any() with dev_consume_skb_any() in bnxt_tx_int()
> > to clear the unnecessary noise of "kfree_skb" event.
>
> Can you please be more specific in the commit message what "unnecessary
> noise" you reduced?

OK! How about the description like this:

In bnxt_tx_int(), the skb in the tx ring buffer will be freed after the
transmission completes with dev_kfree_skb_any(), which will produce
noise on the tracepoint "skb:kfree_skb":

$ perf record -e skb:kfree_skb -a
$ perf script
         swapper     0 [006]  5072.553459: skb:kfree_skb:
skbaddr=0xffff88810ec47700 protocol=2048
location=dev_kfree_skb_any_reason+0x2e reason: NOT_SPECIFIED
         swapper     0 [006]  5072.554796: skb:kfree_skb:
skbaddr=0xffff8881370348e0 protocol=2048
location=dev_kfree_skb_any_reason+0x2e reason: NOT_SPECIFIED
         swapper     0 [006]  5072.554806: skb:kfree_skb:
skbaddr=0xffff888137035ae0 protocol=2048
location=dev_kfree_skb_any_reason+0x2e reason: NOT_SPECIFIED
         swapper     0 [010]  5072.605012: skb:kfree_skb:
skbaddr=0xffff8881372926e0 protocol=2048
location=dev_kfree_skb_any_reason+0x2e reason: NOT_SPECIFIED
         swapper     0 [010]  5072.648249: skb:kfree_skb:
skbaddr=0xffff8881372916e0 protocol=2048
location=dev_kfree_skb_any_reason+0x2e reason: NOT_SPECIFIED
         swapper     0 [010]  5072.655732: skb:kfree_skb:
skbaddr=0xffff8881372928e0 protocol=2048
location=dev_kfree_skb_any_reason+0x2e reason: NOT_SPECIFIED
         swapper     0 [010]  5072.697115: skb:kfree_skb:
skbaddr=0xffff8881372916e0 protocol=2048
location=dev_kfree_skb_any_reason+0x2e reason: NOT_SPECIFIED
         swapper     0 [010]  5072.744718: skb:kfree_skb:
skbaddr=0xffff8881372928e0 protocol=2048
location=dev_kfree_skb_any_reason+0x2e reason: NOT_SPECIFIED
         swapper     0 [010]  5072.786947: skb:kfree_skb:
skbaddr=0xffff8881372916e0 protocol=2048
location=dev_kfree_skb_any_reason+0x2e reason: NOT_SPECIFIED
         swapper     0 [010]  5072.838535: skb:kfree_skb:
skbaddr=0xffff8881372928e0 protocol=2048
location=dev_kfree_skb_any_reason+0x2e reason: NOT_SPECIFIED
         swapper     0 [003]  5072.853599: skb:kfree_skb:
skbaddr=0xffff888108380500 protocol=2048
location=dev_kfree_skb_any_reason+0x2e reason: NOT_SPECIFIED

Replace dev_kfree_skb_any() with dev_consume_skb_any() in bnxt_tx_int()
to reduce the noise.


Thanks!
Menglong Dong


>
> >
> > Signed-off-by: Menglong Dong <imagedong@tencent.com>
> > ---
> >  drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
>
> Thanks,
> Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
  
patchwork-bot+netdevbpf@kernel.org July 12, 2023, 3:30 a.m. UTC | #3
Hello:

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

On Mon, 10 Jul 2023 17:47:47 +0800 you wrote:
> From: Menglong Dong <imagedong@tencent.com>
> 
> Replace dev_kfree_skb_any() with dev_consume_skb_any() in bnxt_tx_int()
> to clear the unnecessary noise of "kfree_skb" event.
> 
> Signed-off-by: Menglong Dong <imagedong@tencent.com>
> 
> [...]

Here is the summary with links:
  - [RESEND,net-next] bnxt_en: use dev_consume_skb_any() in bnxt_tx_int
    https://git.kernel.org/netdev/net-next/c/47b7acfb016b

You are awesome, thank you!
  

Patch

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index e5b54e6025be..d84ded8db93d 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -685,7 +685,7 @@  static void bnxt_tx_int(struct bnxt *bp, struct bnxt_napi *bnapi, int nr_pkts)
 next_tx_int:
 		cons = NEXT_TX(cons);
 
-		dev_kfree_skb_any(skb);
+		dev_consume_skb_any(skb);
 	}
 
 	WRITE_ONCE(txr->tx_cons, cons);