mbox series

[0/4] net/mlx5: fix imissed statistic

Message ID 1614249901-307665-1-git-send-email-matan@nvidia.com (mailing list archive)
Headers show
Series net/mlx5: fix imissed statistic | expand

Message

Matan Azrad Feb. 25, 2021, 10:44 a.m. UTC
The imissed port statistic counts packets that were dropped
by the device Rx queues.

In mlx5, the imissed counter summarizes 2 counters:
	- packets dropped by the SW queue handling counted by SW.
	- packets dropped by the HW queues due to "out of buffer" events
	  detected when no SW buffer is available for the incoming
	  packets.

There is HW counter object that should be created per device, and all
the Rx queues should be assigned to this counter in configuration time.

This part was missed when the Rx queues were created by DevX what
remained the "out of buffer" counter clean forever in this case.

Add 2 options to assign the DevX Rx queues to queue counter:
	- Create queue counter per device by DevX and assign all the
	  queues to it.
	- Query the kernel counter and assign all the queues to it.

Use the first option by default and if it is failed, fallback to the
second option.

Matan Azrad (4):
  common/mlx5/linux: add glue function to query WQ
  common/mlx5: add DevX command to query WQ
  common/mlx5: add DevX commands for queue counters
  net/mlx5: fix imissed statistics

Series-acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>


 drivers/common/mlx5/linux/mlx5_glue.c |  18 ++++++
 drivers/common/mlx5/linux/mlx5_glue.h |   2 +
 drivers/common/mlx5/mlx5_devx_cmds.c  | 100 ++++++++++++++++++++++++++++++++++
 drivers/common/mlx5/mlx5_devx_cmds.h  |   9 +++
 drivers/common/mlx5/mlx5_prm.h        | 100 ++++++++++++++++++++++++++++++++++
 drivers/common/mlx5/version.map       |   5 +-
 drivers/net/mlx5/linux/mlx5_os.c      |  52 ++++++++++++++++++
 drivers/net/mlx5/mlx5.c               |   4 ++
 drivers/net/mlx5/mlx5.h               |   2 +
 drivers/net/mlx5/mlx5_devx.c          |   2 +
 10 files changed, 293 insertions(+), 1 deletion(-)

Comments

Raslan Darawsheh March 3, 2021, 4:28 p.m. UTC | #1
Hi,

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Matan Azrad
> Sent: Thursday, February 25, 2021 12:45 PM
> To: dev@dpdk.org
> Cc: Slava Ovsiienko <viacheslavo@nvidia.com>
> Subject: [dpdk-dev] [PATCH 0/4] net/mlx5: fix imissed statistic
> 
> The imissed port statistic counts packets that were dropped
> by the device Rx queues.
> 
> In mlx5, the imissed counter summarizes 2 counters:
> 	- packets dropped by the SW queue handling counted by SW.
> 	- packets dropped by the HW queues due to "out of buffer" events
> 	  detected when no SW buffer is available for the incoming
> 	  packets.
> 
> There is HW counter object that should be created per device, and all
> the Rx queues should be assigned to this counter in configuration time.
> 
> This part was missed when the Rx queues were created by DevX what
> remained the "out of buffer" counter clean forever in this case.
> 
> Add 2 options to assign the DevX Rx queues to queue counter:
> 	- Create queue counter per device by DevX and assign all the
> 	  queues to it.
> 	- Query the kernel counter and assign all the queues to it.
> 
> Use the first option by default and if it is failed, fallback to the
> second option.
> 
> Matan Azrad (4):
>   common/mlx5/linux: add glue function to query WQ
>   common/mlx5: add DevX command to query WQ
>   common/mlx5: add DevX commands for queue counters
>   net/mlx5: fix imissed statistics
> 
> Series-acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
> 
> 
>  drivers/common/mlx5/linux/mlx5_glue.c |  18 ++++++
>  drivers/common/mlx5/linux/mlx5_glue.h |   2 +
>  drivers/common/mlx5/mlx5_devx_cmds.c  | 100
> ++++++++++++++++++++++++++++++++++
>  drivers/common/mlx5/mlx5_devx_cmds.h  |   9 +++
>  drivers/common/mlx5/mlx5_prm.h        | 100
> ++++++++++++++++++++++++++++++++++
>  drivers/common/mlx5/version.map       |   5 +-
>  drivers/net/mlx5/linux/mlx5_os.c      |  52 ++++++++++++++++++
>  drivers/net/mlx5/mlx5.c               |   4 ++
>  drivers/net/mlx5/mlx5.h               |   2 +
>  drivers/net/mlx5/mlx5_devx.c          |   2 +
>  10 files changed, 293 insertions(+), 1 deletion(-)
> 
> --
> 1.8.3.1

Series applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh