e1000e: Fix default interrupt throttle rate not set in NIC HW
authorJeff Kirsher <[email protected]>
Fri, 20 Apr 2012 08:51:45 +0000 (08:51 +0000)
committerJeff Kirsher <[email protected]>
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 <[email protected]>
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 <[email protected]>
CC: David Decotigny <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
Tested-by: Aaron Brown <[email protected]>
drivers/net/ethernet/intel/e1000e/param.c