]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
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)
committerJoe Jin <joe.jin@oracle.com>
Thu, 17 May 2012 14:57:53 +0000 (22:57 +0800)
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.

(cherry picked from commit 35551c47495a762fcfa5ca6217bf3eb36983d0df)
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>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/ixgbe/ixgbe_ethtool.c

index 1df78ffe5769c70340fdf93f6d5bd8db69b66e55..55e2fac2f5cf4dfffdf35d3fe8baf3c84f11d27e 100644 (file)
@@ -2111,8 +2111,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;
@@ -2180,9 +2178,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;
@@ -2217,7 +2212,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;