igb: cap interrupts at 20K per queue when in itr mode 3

In order to maintain similar performance between MSI-X and
legacy/MSI interrupts, this patch reduces the number of interrupts
when receiving small packets to 20K when in interrupt throttle
rate mode 3.

Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Nick Nunley 2010-02-17 01:03:19 +00:00 committed by David S. Miller
parent 2d0b0f6935
commit abe1c3638c

View File

@ -3260,6 +3260,10 @@ static void igb_update_ring_itr(struct igb_q_vector *q_vector)
else
new_val = avg_wire_size / 2;
/* when in itr mode 3 do not exceed 20K ints/sec */
if (adapter->rx_itr_setting == 3 && new_val < 196)
new_val = 196;
set_itr_val:
if (new_val != q_vector->itr_val) {
q_vector->itr_val = new_val;