1. 24 9月, 2020 35 次提交
  2. 23 9月, 2020 5 次提交
    • D
      Merge tag 'mlx5-updates-2020-09-21' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · 573a8095
      David S. Miller 提交于
      Saeed Mahameed says:
      
      ====================
      mlx5-updates-2020-09-21
      
      Multi packet TX descriptor support for SKBs.
      
      This series introduces some refactoring of the regular TX data path in
      mlx5 and adds the Enhanced TX MPWQE feature support. MPWQE stands for
      multi-packet work queue element, and it can serve multiple packets,
      reducing the PCI bandwidth spent on control traffic. It should improve
      performance in scenarios where PCI is the bottleneck, and xmit_more is
      signaled by the kernel. The refactoring done in this series also
      improves the packet rate on its own.
      
      MPWQE is already implemented in the XDP tx path, this series adds the
      support of MPWQE for regular kernel SKB tx path.
      
      MPWQE is supported from ConnectX-5 and onward, for legacy devices we need
      to keep backward compatibility for regular (Single packet) WQE descriptor.
      
      MPWQE is not compatible with certain offloads and features, such as TLS
      offload, TSO, nonlinear SKBs. If such incompatible features are in use,
      the driver gracefully falls back to non-MPWQE per SKB.
      
      Prior to the final patch "net/mlx5e: Enhanced TX MPWQE for SKBs" that adds
      the actual support, Maxim did some refactoring to the tx data path to
      split it into stages and smaller helper functions that can be utilized and
      reused for both legacy and new MPWQE feature.
      
      Performance testing:
      
      UDP performance is improved in a single stream pktgen test:
        Packet rate: 16.86 Mpps (±0.15 Mpps) -> 20.94 Mpps (±0.33 Mpps)
        Instructions per packet: 434 -> 329
        Cycles per packet: 158 -> 123
        Instructions per cycle: 2.75 -> 2.67
      
      TCP and XDP_TX single stream tests show no performance difference.
      
      MPWQE can reduce PCI bandwidth:
        PCI Gen2, pktgen at fixed rate of 36864000 pps on 24 CPU cores:
          Inbound PCI utilization with MPWQE off: 80.3%
          Inbound PCI utilization with MPWQE on: 59.0%
        PCI Gen3, pktgen at fixed rate of 56064000 pps on 24 CPU cores:
          Inbound PCI utilization with MPWQE off: 65.4%
          Inbound PCI utilization with MPWQE on: 49.3%
      
      MPWQE can also reduce CPU load, increasing the packet rate in case of
      CPU bottleneck:
        PCI Gen2, pktgen at full rate on 24 CPU cores:
          Packet rate with MPWQE off: 37.5 Mpps
          Packet rate with MPWQE on: 49.0 Mpps
        PCI Gen3, pktgen at full rate on 24 CPU cores:
          Packet rate with MPWQE off: 57.0 Mpps
          Packet rate with MPWQE on: 66.8 Mpps
      
      Burst size in all pktgen tests is 32.
      
      CPU: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz (x86_64)
      NIC: Mellanox ConnectX-6 Dx
      GCC 10.2.0
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      573a8095
    • D
      Merge branch 'devlink-Use-nla_policy-to-validate-range' · 748d1c8a
      David S. Miller 提交于
      Parav Pandit says:
      
      ====================
      devlink: Use nla_policy to validate range
      
      This two small patches uses nla_policy to validate user specified
      fields are in valid range or not.
      
      Patch summary:
      Patch-1 checks the range of eswitch mode field
      Patch-2 checks for the port type field. It eliminates a check in
      code by using nla policy infrastructure.
      ====================
      Reviewed-by: NJakub Kicinski <kuba@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      748d1c8a
    • P
      devlink: Enhance policy to validate port type input value · c49a9440
      Parav Pandit 提交于
      Use range checking facility of nla_policy to validate port type
      attribute input value is valid or not.
      Signed-off-by: NParav Pandit <parav@nvidia.com>
      Reviewed-by: NJiri Pirko <jiri@nvidia.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c49a9440
    • P
      devlink: Enhance policy to validate eswitch mode value · ba356c90
      Parav Pandit 提交于
      Use range checking facility of nla_policy to validate eswitch mode input
      attribute value is valid or not.
      Signed-off-by: NParav Pandit <parav@nvidia.com>
      Reviewed-by: NJiri Pirko <jiri@nvidia.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ba356c90
    • D
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 3ab0a7a0
      David S. Miller 提交于
      Two minor conflicts:
      
      1) net/ipv4/route.c, adding a new local variable while
         moving another local variable and removing it's
         initial assignment.
      
      2) drivers/net/dsa/microchip/ksz9477.c, overlapping changes.
         One pretty prints the port mode differently, whilst another
         changes the driver to try and obtain the port mode from
         the port node rather than the switch node.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3ab0a7a0