• Gal Pressman's avatar
    net/mlx5e: Optimize update stats work · 3834a5e6
    Gal Pressman authored
    Unlike ethtool stats, get_stats ndo provides information cached by
    update stats work that is running in the background without updating
    them explicitly.
    We cannot update all counters inside the ndo because some
    updates require firmware commands that cannot be performed under a
    spinlock.
    
    update_stats work does not need to update ALL counters, since only
    some of them are needed by ndo_get_stats.
    This patch will allow for a minimal run of update_stats using an extra
    parameter which will update necessary counters only and cut 13
    firmware commands in each iteration of the work.
    
    Work duration previous to this patch: ~4200us.
    Work duration after this patch: ~700us (17% of the original time).
    Signed-off-by: default avatarGal Pressman <galp@mellanox.com>
    Reviewed-by: default avatarEran Ben Elisha <eranbe@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    Cc: kernel-team@fb.com
    3834a5e6
en.h 30 KB