aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2013-02-11 21:31:01 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2013-04-18 19:40:12 -0400
commit4e22766758cb8c971c971f3d335b974aaeb235fa (patch)
tree2d30f72f39909089a6a5736b217566870d38e78d
parentb646c22edef1c350d26237a6f60d3a890ceedf6e (diff)
igb: Use rx/tx_itr_setting when setting up initial value of itr
It turns out that the InterruptThrottleRate module parameter was only having the effect of locking the ITR at the starting ITR value. This was because the values stored in rx_itr_setting and tx_itr_setting were being ignored when configuring the initial itr_val of the q_vector. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r--drivers/net/ethernet/intel/igb/igb_main.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index d27eb4ed7a09..d838ab1ea96f 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -1179,6 +1179,17 @@ static int igb_alloc_q_vector(struct igb_adapter *adapter,
1179 /* initialize pointer to rings */ 1179 /* initialize pointer to rings */
1180 ring = q_vector->ring; 1180 ring = q_vector->ring;
1181 1181
1182 /* intialize ITR */
1183 if (rxr_count) {
1184 /* rx or rx/tx vector */
1185 if (!adapter->rx_itr_setting || adapter->rx_itr_setting > 3)
1186 q_vector->itr_val = adapter->rx_itr_setting;
1187 } else {
1188 /* tx only vector */
1189 if (!adapter->tx_itr_setting || adapter->tx_itr_setting > 3)
1190 q_vector->itr_val = adapter->tx_itr_setting;
1191 }
1192
1182 if (txr_count) { 1193 if (txr_count) {
1183 /* assign generic ring traits */ 1194 /* assign generic ring traits */
1184 ring->dev = &adapter->pdev->dev; 1195 ring->dev = &adapter->pdev->dev;