ixgbe: on recv increment rx.ring->stats.yields
authorPavel Tikhomirov <ptikhomirov@virtuozzo.com>
Fri, 11 Dec 2015 14:05:14 +0000 (17:05 +0300)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 4 Apr 2016 19:43:44 +0000 (12:43 -0700)
It seem to be non intentionally changed to Tx in
commit adc810900a70 ("ixgbe: Refactor busy poll socket code to address
multiple issues")

Lock is taken from ixgbe_low_latency_recv, and there under this
lock we use ixgbe_clean_rx_irq so it looks wrong for me to increment
Tx counter.

Yield stats can be shown through ethtool:
ethtool -S enp129s0 | grep yield

Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe.h

index e4949af7dd6bd0c4e5cb7bc5547784ac5d43a8a1..9f64354c9c9eeb366c6d85cddc811c0bf002f05e 100644 (file)
@@ -456,7 +456,7 @@ static inline bool ixgbe_qv_lock_poll(struct ixgbe_q_vector *q_vector)
                                IXGBE_QV_STATE_POLL);
 #ifdef BP_EXTENDED_STATS
        if (rc != IXGBE_QV_STATE_IDLE)
-               q_vector->tx.ring->stats.yields++;
+               q_vector->rx.ring->stats.yields++;
 #endif
        return rc == IXGBE_QV_STATE_IDLE;
 }