• Jacob Keller's avatar
    fm10k: prevent multiple threads updating statistics · 9d73edee
    Jacob Keller authored
    Also prevent updating stats while the interface is down. If we're
    already updating stats, just return doing nothing. When we take the
    device down, block stat updates until we come back up. This ensures that
    we avoid tearing down rings when we're updating statistics, and prevents
    updating statistics until we're up.
    
    We can't re-use the __FM10K_DOWN for this because it wouldn't prevent
    multiple threads from accessing statistics. Neither does it prevent the
    case where we start updating stats and then start going down in another
    thread.
    
    The fm10k_get_stats64 is except from this, because it has a completely
    different flow which does not suffer from the same issues as
    fm10k_update_stats might.
    Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
    Tested-by: default avatarKrishneil Singh <Krishneil.k.singh@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    9d73edee
fm10k_pci.c 63.5 KB