• Jeff Kirsher's avatar
    igb: reduce CPU0 latency when updating statistics · 59361316
    Jeff Kirsher authored
    This change is based off of the work and suggestion of Jan Jablonsky
    <jan.jablonsky@thalesgroup.com>.
    
    The Watchdog workqueue in igb driver is scheduled every 2s for each
    network interface. That includes updating a statistics protected by
    spinlock. Function igb_update_stats in this case will be protected
    against preemption. According to number of a statistics registers
    (cca 60), processing this function might cause additional cpu load
     on CPU0.
    
    In case of statistics spinlock may be replaced with mutex, which
    reduce latency on CPU0.
    
    CC: Bernhard Kaindl  <bernhard.kaindl@thalesgroup.com>
    CC: Jan Jablonsky <jan.jablonsky@thalesgroup.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    59361316
igb_main.c 257 KB