• Jacob Keller's avatar
    ixgbe: fix EICR write in ixgbe_msix_other · d87d8307
    Jacob Keller authored
    Previously, the ixgbe_msix_other was writing the full 32bits of the set
    interrupts, instead of only the ones which the ixgbe_msix_other is
    handling. This resulted in a loss of performance when the X540's PPS feature is
    enabled due to sometimes clearing queue interrupts which resulted in the driver
    not getting the interrupt for cleaning the q_vector rings often enough. The fix
    is to simply mask the lower 16bits off so that this handler does not write them
    in the EICR, which causes them to remain high and be properly handled by the
    clean_rings interrupt routine as normal.
    Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
    Cc: stable <stable@vger.kernel.org>
    Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    d87d8307
ixgbe_main.c 219 KB