diff options
| author | Jesse Brandeburg <jesse.brandeburg@intel.com> | 2015-04-27 14:57:08 -0400 |
|---|---|---|
| committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2015-07-14 21:26:40 -0400 |
| commit | 489ce7a46306052ab4ef26c6305051c5f1b24bb4 (patch) | |
| tree | 4e9a2376065ece97915b8547ba790ad338d0537c | |
| parent | c78b953e0f189824f5eaa2d60123cfd12ea6db0d (diff) | |
i40e/i40evf: improve Tx performance with a small tweak
Add a prefetch for the next Tx descriptor to be used when we know
there are more coming.
Change-ID: Ibb9acab11d508eec2db7da795df74debc16eeacb
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Jim Young <james.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| -rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_txrx.c | 2 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c index 9a4f2bc70cd2..1fe230d2be5d 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c +++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c | |||
| @@ -2616,6 +2616,8 @@ static inline void i40e_tx_map(struct i40e_ring *tx_ring, struct sk_buff *skb, | |||
| 2616 | netif_xmit_stopped(netdev_get_tx_queue(tx_ring->netdev, | 2616 | netif_xmit_stopped(netdev_get_tx_queue(tx_ring->netdev, |
| 2617 | tx_ring->queue_index))) | 2617 | tx_ring->queue_index))) |
| 2618 | writel(i, tx_ring->tail); | 2618 | writel(i, tx_ring->tail); |
| 2619 | else | ||
| 2620 | prefetchw(tx_desc + 1); | ||
| 2619 | 2621 | ||
| 2620 | return; | 2622 | return; |
| 2621 | 2623 | ||
diff --git a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c index 395f32f226c0..0f0e185b5c66 100644 --- a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c +++ b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c | |||
| @@ -1841,6 +1841,8 @@ static inline void i40evf_tx_map(struct i40e_ring *tx_ring, struct sk_buff *skb, | |||
| 1841 | netif_xmit_stopped(netdev_get_tx_queue(tx_ring->netdev, | 1841 | netif_xmit_stopped(netdev_get_tx_queue(tx_ring->netdev, |
| 1842 | tx_ring->queue_index))) | 1842 | tx_ring->queue_index))) |
| 1843 | writel(i, tx_ring->tail); | 1843 | writel(i, tx_ring->tail); |
| 1844 | else | ||
| 1845 | prefetchw(tx_desc + 1); | ||
| 1844 | 1846 | ||
| 1845 | return; | 1847 | return; |
| 1846 | 1848 | ||
