From: Alexander Duyck Date: Tue, 12 Feb 2013 02:31:01 +0000 (+0000) Subject: igb: Use rx/tx_itr_setting when setting up initial value of itr X-Git-Tag: v3.10-rc1~66^2~98^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4e22766758cb8c971c971f3d335b974aaeb235fa;p=platform%2Fkernel%2Flinux-stable.git 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 Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher --- diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index d27eb4e..d838ab1 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, /* initialize pointer to rings */ ring = q_vector->ring; + /* intialize ITR */ + if (rxr_count) { + /* rx or rx/tx vector */ + if (!adapter->rx_itr_setting || adapter->rx_itr_setting > 3) + q_vector->itr_val = adapter->rx_itr_setting; + } else { + /* tx only vector */ + if (!adapter->tx_itr_setting || adapter->tx_itr_setting > 3) + q_vector->itr_val = adapter->tx_itr_setting; + } + if (txr_count) { /* assign generic ring traits */ ring->dev = &adapter->pdev->dev;