netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [pull request][net-next 00/15] mlx5 updates 2023-08-07
@ 2023-08-07 17:56 Saeed Mahameed
  2023-08-07 17:56 ` [net-next 01/15] net/mlx5: Track the current number of completion EQs Saeed Mahameed
                   ` (14 more replies)
  0 siblings, 15 replies; 17+ messages in thread
From: Saeed Mahameed @ 2023-08-07 17:56 UTC (permalink / raw)
  To: David S. Miller, Jakub Kicinski, Paolo Abeni, Eric Dumazet
  Cc: Saeed Mahameed, netdev, Tariq Toukan

From: Saeed Mahameed <saeedm@nvidia.com>

This series provides some minor cleanup and Dynamic completion EQ
allocation mechanism in the mlx5 driver.

For more information please see tag log below.

Please pull and let me know if there is any problem.

Thanks,
Saeed.


The following changes since commit cc97777c80fdfabe12997581131872a03fdcf683:

  udp/udplite: Remove unused function declarations udp{,lite}_get_port() (2023-08-07 08:53:55 +0100)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2023-08-07

for you to fetch changes up to b56fb19c337951fc4daba646fab2c50bb4c41c58:

  net/mlx5: Bridge, Only handle registered netdev bridge events (2023-08-07 10:53:52 -0700)

----------------------------------------------------------------
mlx5-updates-2023-08-07
1) Few cleanups

2) Dynamic completion EQs

The driver creates completion EQs for all vectors directly on driver
load, even if those EQs will not be utilized later on.

To allow more flexibility in managing completion EQs and to reduce the
memory overhead of driver load, this series will adjust completion EQs
creation to be dynamic. Meaning, completion EQs will be created only
when needed.

Patch #1 introduces a counter for tracking the current number of
completion EQs.
Patches #2-6 refactor the existing infrastructure of managing completion
EQs and completion IRQs to be compatible with per-vector
allocation/release requests.
Patches #7-8 modify the CPU-to-IRQ affinity calculation to be resilient
in case the affinity is requested but completion IRQ is not allocated yet.
Patch #9 function rename.
Patch #10 handles the corner case of SF performing an IRQ request when no
SF IRQ pool is found, and no PF IRQ exists for the same vector.
Patch #11 modify driver to use dynamically allocate completion EQs.

----------------------------------------------------------------
Gal Pressman (1):
      net/mlx5: Fix typo reminder -> remainder

Maher Sanalla (11):
      net/mlx5: Track the current number of completion EQs
      net/mlx5: Refactor completion IRQ request/release API
      net/mlx5: Use xarray to store and manage completion IRQs
      net/mlx5: Refactor completion IRQ request/release handlers in EQ layer
      net/mlx5: Use xarray to store and manage completion EQs
      net/mlx5: Implement single completion EQ create/destroy methods
      net/mlx5: Introduce mlx5_cpumask_default_spread
      net/mlx5: Add IRQ vector to CPU lookup function
      net/mlx5: Rename mlx5_comp_vectors_count() to mlx5_comp_vectors_max()
      net/mlx5: Handle SF IRQ request in the absence of SF IRQ pool
      net/mlx5: Allocate completion EQs dynamically

Roi Dayan (2):
      net/mlx5: E-Switch, Remove redundant arg ignore_flow_lvl
      net/mlx5: Bridge, Only handle registered netdev bridge events

Ruan Jinjie (1):
      net/mlx5: remove many unnecessary NULL values

 drivers/infiniband/hw/mlx5/cq.c                    |   2 +-
 drivers/infiniband/hw/mlx5/devx.c                  |   2 +-
 drivers/infiniband/hw/mlx5/main.c                  |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |   2 +-
 .../ethernet/mellanox/mlx5/core/en/rep/bridge.c    |   4 +
 drivers/net/ethernet/mellanox/mlx5/core/en/trap.c  |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  10 +-
 drivers/net/ethernet/mellanox/mlx5/core/eq.c       | 360 ++++++++++++---------
 drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c  |   6 +-
 .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |   6 +-
 .../net/ethernet/mellanox/mlx5/core/fpga/conn.c    |   2 +-
 .../net/ethernet/mellanox/mlx5/core/fpga/core.c    |   4 +-
 .../net/ethernet/mellanox/mlx5/core/irq_affinity.c |  78 ++---
 drivers/net/ethernet/mellanox/mlx5/core/lib/aso.c  |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h   |   2 +-
 .../net/ethernet/mellanox/mlx5/core/lib/hv_vhca.c  |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/mlx5_irq.h |  26 +-
 drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c  |  60 ++--
 .../ethernet/mellanox/mlx5/core/steering/dr_send.c |   4 +-
 drivers/vdpa/mlx5/net/mlx5_vnet.c                  |   2 +-
 drivers/vfio/pci/mlx5/cmd.c                        |   4 +-
 include/linux/mlx5/driver.h                        |   7 +-
 22 files changed, 309 insertions(+), 280 deletions(-)

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2023-08-08 23:40 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-07 17:56 [pull request][net-next 00/15] mlx5 updates 2023-08-07 Saeed Mahameed
2023-08-07 17:56 ` [net-next 01/15] net/mlx5: Track the current number of completion EQs Saeed Mahameed
2023-08-08 23:40   ` patchwork-bot+netdevbpf
2023-08-07 17:56 ` [net-next 02/15] net/mlx5: Refactor completion IRQ request/release API Saeed Mahameed
2023-08-07 17:56 ` [net-next 03/15] net/mlx5: Use xarray to store and manage completion IRQs Saeed Mahameed
2023-08-07 17:56 ` [net-next 04/15] net/mlx5: Refactor completion IRQ request/release handlers in EQ layer Saeed Mahameed
2023-08-07 17:56 ` [net-next 05/15] net/mlx5: Use xarray to store and manage completion EQs Saeed Mahameed
2023-08-07 17:56 ` [net-next 06/15] net/mlx5: Implement single completion EQ create/destroy methods Saeed Mahameed
2023-08-07 17:56 ` [net-next 07/15] net/mlx5: Introduce mlx5_cpumask_default_spread Saeed Mahameed
2023-08-07 17:56 ` [net-next 08/15] net/mlx5: Add IRQ vector to CPU lookup function Saeed Mahameed
2023-08-07 17:56 ` [net-next 09/15] net/mlx5: Rename mlx5_comp_vectors_count() to mlx5_comp_vectors_max() Saeed Mahameed
2023-08-07 17:56 ` [net-next 10/15] net/mlx5: Handle SF IRQ request in the absence of SF IRQ pool Saeed Mahameed
2023-08-07 17:56 ` [net-next 11/15] net/mlx5: Allocate completion EQs dynamically Saeed Mahameed
2023-08-07 17:56 ` [net-next 12/15] net/mlx5: remove many unnecessary NULL values Saeed Mahameed
2023-08-07 17:56 ` [net-next 13/15] net/mlx5: Fix typo reminder -> remainder Saeed Mahameed
2023-08-07 17:56 ` [net-next 14/15] net/mlx5: E-Switch, Remove redundant arg ignore_flow_lvl Saeed Mahameed
2023-08-07 17:56 ` [net-next 15/15] net/mlx5: Bridge, Only handle registered netdev bridge events Saeed Mahameed

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).