One of the parameters, budget, is modified to poll RX queues in fair manner,
another parameter in the whole game, work_done, should be correct
accordingly.

Signed-off-by: Jing Zhang <zj.na...@gmail.com>
---

--- linux-2.6.34/drivers/net/ixgbe/ixgbe_main.c 2010-05-17
05:17:36.000000000 +0800
+++ ixgbe/ixgbe_main_01.c 2010-07-15 20:51:18.000000000 +0800
@@ -1559,12 +1559,14 @@ static int ixgbe_clean_rxtx_many(struct
  budget = max(budget, 1);
  r_idx = find_first_bit(q_vector->rxr_idx, adapter->num_rx_queues);
  for (i = 0; i < q_vector->rxr_count; i++) {
+ int this_work = 0;
  ring = adapter->rx_ring[r_idx];
 #ifdef CONFIG_IXGBE_DCA
  if (adapter->flags & IXGBE_FLAG_DCA_ENABLED)
  ixgbe_update_rx_dca(adapter, ring);
 #endif
- ixgbe_clean_rx_irq(q_vector, ring, &work_done, budget);
+ ixgbe_clean_rx_irq(q_vector, ring, &this_work, budget);
+ work_done += this_work;
  r_idx = find_next_bit(q_vector->rxr_idx, adapter->num_rx_queues,
                       r_idx + 1);
  }
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to