• Kevin(Yudong) Yang's avatar
    net/mlx4_en: update moderation when config reset · 00ff801b
    Kevin(Yudong) Yang authored
    This patch fixes a bug that the moderation config will not be
    applied when calling mlx4_en_reset_config. For example, when
    turning on rx timestamping, mlx4_en_reset_config() will be called,
    causing the NIC to forget previous moderation config.
    
    This fix is in phase with a previous fix:
    commit 79c54b6b ("net/mlx4_en: Fix TX moderation info loss
    after set_ringparam is called")
    
    Tested: Before this patch, on a host with NIC using mlx4, run
    netserver and stream TCP to the host at full utilization.
    $ sar -I SUM 1
                     INTR    intr/s
    14:03:56          sum  48758.00
    
    After rx hwtstamp is enabled:
    $ sar -I SUM 1
    14:10:38          sum 317771.00
    We see the moderation is not working properly and issued 7x more
    interrupts.
    
    After the patch, and turned on rx hwtstamp, the rate of interrupts
    is as expected:
    $ sar -I SUM 1
    14:52:11          sum  49332.00
    
    Fixes: 79c54b6b ("net/mlx4_en: Fix TX moderation info loss after set_ringparam is called")
    Signed-off-by: default avatarKevin(Yudong) Yang <yyd@google.com>
    Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
    Reviewed-by: default avatarNeal Cardwell <ncardwell@google.com>
    CC: Tariq Toukan <tariqt@nvidia.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    00ff801b
en_netdev.c 95.6 KB