e1000e: Fix default interrupt throttle rate not set in NIC HW
authorJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 20 Apr 2012 08:51:45 +0000 (08:51 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 25 Apr 2012 05:45:35 +0000 (22:45 -0700)
commit727c356f4d799b53f94cf8fe43e19d64482348c7
tree6593d0cf2299e0cc6e2ca42274ff2a40cd49517b
parent569a3aff70e880588fe4b3f1622ac60abbeb4a28
e1000e: Fix default interrupt throttle rate not set in NIC HW

Based on the original patch from  Ying Cai <ycai@google.com>
This change ensures that the itr/itr_setting adjustment logic is used,
even for the default/compiled-in value.

Context:
  When we changed the default InterruptThrottleRate value from default
  (3 = dynamic mode) to 8000 for example, only adapter->itr_setting
  (which controls interrupt coalescing mode) was set to 8000, but
  adapter->itr (which controls the value set in NIC register) was not
  updated accordingly. So from ethtool, it seemed the interrupt
  throttling is enabled at 8000 intr/s, but the NIC actually was
  running in dynamic mode which has lower CPU efficiency especially
  when throughput is not high.

CC: Ying Cai <ycai@google.com>
CC: David Decotigny <david.decotigny@google.com>
Signed-off-by: Jeff Kirsher <jeffrey.kirsher@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
drivers/net/ethernet/intel/e1000e/param.c