• Nicholas Nunley's avatar
    iavf: initialize ITRN registers with correct values · 4eda4e00
    Nicholas Nunley authored
    Since commit 92418fb1 ("i40e/i40evf: Use usec value instead of reg
    value for ITR defines") the driver tracks the interrupt throttling
    intervals in single usec units, although the actual ITRN registers are
    programmed in 2 usec units. Most register programming flows in the driver
    correctly handle the conversion, although it is currently not applied when
    the registers are initialized to their default values. Most of the time
    this doesn't present a problem since the default values are usually
    immediately overwritten through the standard adaptive throttling mechanism,
    or updated manually by the user, but if adaptive throttling is disabled and
    the interval values are left alone then the incorrect value will persist.
    
    Since the intended default interval of 50 usecs (vs. 100 usecs as
    programmed) performs better for most traffic workloads, this can lead to
    performance regressions.
    
    This patch adds the correct conversion when writing the initial values to
    the ITRN registers.
    Signed-off-by: default avatarNicholas Nunley <nicholas.d.nunley@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    4eda4e00
iavf_main.c 107 KB