1. 11 Mar, 2024 39 commits
  2. 09 Mar, 2024 1 commit
    • Jakub Kicinski's avatar
      Merge tag 'mlx5-socket-direct-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · d7e14e53
      Jakub Kicinski authored
      Saeed Mahameed says:
      
      ====================
      Support Multi-PF netdev (Socket Direct)
      
      This series adds support for combining multiple devices (PFs) of the
      same port under one netdev instance. Passing traffic through different
      devices belonging to different NUMA sockets saves cross-numa traffic and
      allows apps running on the same netdev from different numas to still
      feel a sense of proximity to the device and achieve improved
      performance.
      
      We achieve this by grouping PFs together, and creating the netdev only
      once all group members are probed. Symmetrically, we destroy the netdev
      once any of the PFs is removed.
      
      The channels are distributed between all devices, a proper configuration
      would utilize the correct close numa when working on a certain app/cpu.
      
      We pick one device to be a primary (leader), and it fills a special
      role.  The other devices (secondaries) are disconnected from the network
      in the chip level (set to silent mode). All RX/TX traffic is steered
      through the primary to/from the secondaries.
      
      Currently, we limit the support to PFs only, and up to two devices
      (sockets).
      
      * tag 'mlx5-socket-direct-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:
        Documentation: networking: Add description for multi-pf netdev
        net/mlx5: Enable SD feature
        net/mlx5e: Block TLS device offload on combined SD netdev
        net/mlx5e: Support per-mdev queue counter
        net/mlx5e: Support cross-vhca RSS
        net/mlx5e: Let channels be SD-aware
        net/mlx5e: Create EN core HW resources for all secondary devices
        net/mlx5e: Create single netdev per SD group
        net/mlx5: SD, Add debugfs
        net/mlx5: SD, Add informative prints in kernel log
        net/mlx5: SD, Implement steering for primary and secondaries
        net/mlx5: SD, Implement devcom communication and primary election
        net/mlx5: SD, Implement basic query and instantiation
        net/mlx5: SD, Introduce SD lib
        net/mlx5: Add MPIR bit in mcam_access_reg
      ====================
      
      Link: https://lore.kernel.org/r/20240307084229.500776-1-saeed@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d7e14e53