All of lore.kernel.org
 help / color / mirror / Atom feed
* [pull request][net-next V2 00/12] Mellanox, mlx5 updates 2018-07-27 (Vxlan updates)
@ 2018-07-28  0:06 Saeed Mahameed
  2018-07-28  0:06 ` [net-next V2 01/12] net/mlx5e: Vxlan, reflect 4789 UDP port default addition to software database Saeed Mahameed
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: Saeed Mahameed @ 2018-07-28  0:06 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Saeed Mahameed

Hi Dave,

This series from Gal and Saeed provides updates to mlx5 vxlan implementation.

For more information please see tag log below.

Please pull and let me know if there's any problem.

V1->V2:
 - Drop the rw lock patch.

Thanks,
Saeed.

--- 

The following changes since commit 1f3ed383fb9a073ae2e408cd7a0717b04c7c3a21:

  net: sched: don't dump chains only held by actions (2018-07-27 09:38:46 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5e-updates-2018-07-27

for you to fetch changes up to a3e673660bc3fca3e9e0cbab871b2fb100e9ed64:

  net/mlx5e: Issue direct lookup on vxlan ports by vport representors (2018-07-27 15:46:13 -0700)

----------------------------------------------------------------
mlx5e-updates-2018-07-27 (Vxlan updates)

This series from Gal and Saeed provides updates to mlx5 vxlan implementation.

Gal, started with three cleanups to reflect the actual hardware vxlan state
- reflect 4789 UDP port default addition to software database
- check maximum number of vxlan  UDP ports
- cleanup an unused member in vxlan work

Then Gal provides performance optimization by replacing the
vxlan radix tree with a hash table.

Measuring mlx5e_vxlan_lookup_port execution time:

                      Radix Tree   Hash Table
     --------------- ------------ ------------
      Single Stream   161 ns       79  ns (51% improvement)
      Multi Stream    259 ns       136 ns (47% improvement)

    Measuring UDP stream packet rate, single fully utilized TX core:
    Radix Tree: 498,300 PPS
    Hash Table: 555,468 PPS (11% improvement)

Next, from Saeed, vxlan refactoring to allow sharing the vxlan table
between different mlx5 netdevice instances like PF and VF representors,
this is done by making mlx5 vxlan interface more generic and decoupling
it from PF netdevice structures and logic, then moving it into mlx5 core
as a low level interface so it can be used by VF representors, which is
illustrated in the last patch of the serious.

-Saeed.

----------------------------------------------------------------
Gal Pressman (4):
      net/mlx5e: Vxlan, reflect 4789 UDP port default addition to software database
      net/mlx5e: Vxlan, check maximum number of UDP ports
      net/mlx5e: Vxlan, replace ports radix-tree with hash table
      net/mlx5e: Vxlan, cleanup an unused member in vxlan work

Saeed Mahameed (8):
      net/mlx5e: Vxlan, add direct delete function
      net/mlx5e: Vxlan, move netdev only logic to en_main.c
      net/mlx5e: Vxlan, rename struct mlx5e_vxlan to mlx5_vxlan_port
      net/mlx5e: Vxlan, rename from mlx5e to mlx5
      net/mlx5e: Vxlan, return values for add/del port
      net/mlx5e: Vxlan, add sync lock for add/del vxlan port
      net/mlx5e: Vxlan, move vxlan logic to core driver
      net/mlx5e: Issue direct lookup on vxlan ports by vport representors

 drivers/net/ethernet/mellanox/mlx5/core/Makefile   |   4 +-
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |   6 -
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  71 ++++++-
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    |  14 +-
 .../net/ethernet/mellanox/mlx5/core/lib/vxlan.c    | 230 +++++++++++++++++++++
 .../ethernet/mellanox/mlx5/core/{ => lib}/vxlan.h  |  39 ++--
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |   5 +
 drivers/net/ethernet/mellanox/mlx5/core/vxlan.c    | 190 -----------------
 include/linux/mlx5/driver.h                        |   2 +
 include/linux/mlx5/mlx5_ifc.h                      |   4 +-
 10 files changed, 325 insertions(+), 240 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lib/vxlan.c
 rename drivers/net/ethernet/mellanox/mlx5/core/{ => lib}/vxlan.h (66%)
 delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/vxlan.c

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

end of thread, other threads:[~2018-07-29 21:41 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-28  0:06 [pull request][net-next V2 00/12] Mellanox, mlx5 updates 2018-07-27 (Vxlan updates) Saeed Mahameed
2018-07-28  0:06 ` [net-next V2 01/12] net/mlx5e: Vxlan, reflect 4789 UDP port default addition to software database Saeed Mahameed
2018-07-28  0:06 ` [net-next V2 02/12] net/mlx5e: Vxlan, check maximum number of UDP ports Saeed Mahameed
2018-07-28  0:06 ` [net-next V2 03/12] net/mlx5e: Vxlan, replace ports radix-tree with hash table Saeed Mahameed
2018-07-28  0:06 ` [net-next V2 04/12] net/mlx5e: Vxlan, cleanup an unused member in vxlan work Saeed Mahameed
2018-07-28  0:06 ` [net-next V2 05/12] net/mlx5e: Vxlan, add direct delete function Saeed Mahameed
2018-07-28  0:06 ` [net-next V2 06/12] net/mlx5e: Vxlan, move netdev only logic to en_main.c Saeed Mahameed
2018-07-28  0:06 ` [net-next V2 07/12] net/mlx5e: Vxlan, rename struct mlx5e_vxlan to mlx5_vxlan_port Saeed Mahameed
2018-07-28  0:06 ` [net-next V2 08/12] net/mlx5e: Vxlan, rename from mlx5e to mlx5 Saeed Mahameed
2018-07-28  0:06 ` [net-next V2 09/12] net/mlx5e: Vxlan, return values for add/del port Saeed Mahameed
2018-07-28  0:06 ` [net-next V2 10/12] net/mlx5e: Vxlan, add sync lock for add/del vxlan port Saeed Mahameed
2018-07-28  0:06 ` [net-next V2 11/12] net/mlx5e: Vxlan, move vxlan logic to core driver Saeed Mahameed
2018-07-28  0:06 ` [net-next V2 12/12] net/mlx5e: Issue direct lookup on vxlan ports by vport representors Saeed Mahameed
2018-07-29 20:09 ` [pull request][net-next V2 00/12] Mellanox, mlx5 updates 2018-07-27 (Vxlan updates) David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.