ixgbe: remove tie between NAPI work limits and interrupt moderation
authorJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 23 Sep 2011 15:34:38 +0000 (15:34 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 13 Mar 2012 03:13:19 +0000 (20:13 -0700)
As noted by Ben Hutchings and David Miller, work limits for NAPI
should not be tied to interrupt moderation parameters.  This
should be handled by NAPI, possibly through sysfs.

Neil Horman & Stephen Hemminger are working on a solution for
NAPI currently.  In the meantime, remove this tie between
work limits and interrupt moderation.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
CC: Ben Hutchings <bhutchings@solarflare.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c

index 8e2e4732b1a7db685992dd88c843ba46e0bf5321..4846206a10148b8304a2166261ad3f45a2d72446 100644 (file)
@@ -2108,8 +2108,6 @@ static int ixgbe_get_coalesce(struct net_device *netdev,
 {
        struct ixgbe_adapter *adapter = netdev_priv(netdev);
 
-       ec->tx_max_coalesced_frames_irq = adapter->tx_work_limit;
-
        /* only valid if in constant ITR mode */
        if (adapter->rx_itr_setting <= 1)
                ec->rx_coalesce_usecs = adapter->rx_itr_setting;
@@ -2177,9 +2175,6 @@ static int ixgbe_set_coalesce(struct net_device *netdev,
            && ec->tx_coalesce_usecs)
                return -EINVAL;
 
-       if (ec->tx_max_coalesced_frames_irq)
-               adapter->tx_work_limit = ec->tx_max_coalesced_frames_irq;
-
        if ((ec->rx_coalesce_usecs > (IXGBE_MAX_EITR >> 2)) ||
            (ec->tx_coalesce_usecs > (IXGBE_MAX_EITR >> 2)))
                return -EINVAL;
@@ -2214,7 +2209,6 @@ static int ixgbe_set_coalesce(struct net_device *netdev,
 
        for (i = 0; i < num_vectors; i++) {
                q_vector = adapter->q_vector[i];
-               q_vector->tx.work_limit = adapter->tx_work_limit;
                if (q_vector->tx.count && !q_vector->rx.count)
                        /* tx only */
                        q_vector->itr = tx_itr_param;