• Maxim Mikityanskiy's avatar
    net/mlx5e: Support HTB offload · 214baf22
    Maxim Mikityanskiy authored
    This commit adds support for HTB offload in the mlx5e driver.
    
    Performance:
    
      NIC: Mellanox ConnectX-6 Dx
      CPU: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz (24 cores with HT)
    
      100 Gbit/s line rate, 500 UDP streams @ ~200 Mbit/s each
      48 traffic classes, flower used for steering
      No shaping (rate limits set to 4 Gbit/s per TC) - checking for max
      throughput.
    
      Baseline: 98.7 Gbps, 8.25 Mpps
      HTB: 6.7 Gbps, 0.56 Mpps
      HTB offload: 95.6 Gbps, 8.00 Mpps
    
    Limitations:
    
    1. 256 leaf nodes, 3 levels of depth.
    
    2. Granularity for ceil is 1 Mbit/s. Rates are converted to weights, and
    the bandwidth is split among the siblings according to these weights.
    Other parameters for classes are not supported.
    
    Ethtool statistics support for QoS SQs are also added. The counters are
    called qos_txN_*, where N is the QoS queue number (starting from 0, the
    numeration is separate from the normal SQs), and * is the counter name
    (the counters are the same as for the normal SQs).
    Signed-off-by: default avatarMaxim Mikityanskiy <maximmi@mellanox.com>
    Reviewed-by: default avatarTariq Toukan <tariqt@nvidia.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    214baf22
ptp.c 12.2 KB