Skip to content
  • Tal Gilboa's avatar
    net/mlx5e: Added BW check for DIM decision mechanism · c3164d2f
    Tal Gilboa authored
    DIM (Dynamically-tuned Interrupt Moderation) is a mechanism designed for
    changing the channel interrupt moderation values in order to reduce CPU
    overhead for all traffic types.
    Until now only interrupt and packet rate were sampled.
    We found a scenario on which we get a false indication since a change in
    DIM caused more aggregation and reduced packet rate while increasing BW.
    
    We now regard a change as succesfull iff:
    current_BW > (prev_BW + threshold) or
    current_BW ~= prev_BW and current_PR > (prev_PR + threshold) or
    current_BW ~= prev_BW and current_PR ~= prev_PR and
        current_IR < (prev_IR - threshold)
    Where BW = Bandwidth, PR = Packet rate and IR = Interrupt rate
    
    Improvements (ConnectX-4Lx 25GbE, single RX queue, LRO off)
        --------------------------------------------------
        packet size | before[Mb/s] | after[Mb/s] | gain  |
        2B          | 343.4        | 359.4       |  4.5% |
        16B         | 2739.7       | 2814.8      |  2.7% |
        64B         | 9739         | 10185.3     |  4.5% |
    
    Fixes: cb3c7fd4
    
     ("net/mlx5e: Support adaptive RX coalescing")
    Signed-off-by: default avatarTal Gilboa <talgi@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    c3164d2f