diff options
author | Alexander Duyck <alexander.h.duyck@redhat.com> | 2015-04-08 21:49:43 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-04-09 14:25:26 -0400 |
commit | 67317166dd6e8e78f20768e9f07fcc80846b207b (patch) | |
tree | 498efdb14803d3e440a985c4c4d9df8dc32bc6f5 | |
parent | 12b3375f3963536ba3ad47d2db49f72067b4905e (diff) |
i40e/i40evf: Use dma_rmb where appropriate
Update i40e and i40evf to use dma_rmb. This should improve performance by
decreasing the barrier overhead on strong ordered architectures.
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_txrx.c | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c index d8989f9d1798..4bd3a80aba82 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c +++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c | |||
@@ -1554,7 +1554,7 @@ static int i40e_clean_rx_irq_ps(struct i40e_ring *rx_ring, int budget) | |||
1554 | * any other fields out of the rx_desc until we know the | 1554 | * any other fields out of the rx_desc until we know the |
1555 | * DD bit is set. | 1555 | * DD bit is set. |
1556 | */ | 1556 | */ |
1557 | rmb(); | 1557 | dma_rmb(); |
1558 | if (i40e_rx_is_programming_status(qword)) { | 1558 | if (i40e_rx_is_programming_status(qword)) { |
1559 | i40e_clean_programming_status(rx_ring, rx_desc); | 1559 | i40e_clean_programming_status(rx_ring, rx_desc); |
1560 | I40E_RX_INCREMENT(rx_ring, i); | 1560 | I40E_RX_INCREMENT(rx_ring, i); |
@@ -1745,7 +1745,7 @@ static int i40e_clean_rx_irq_1buf(struct i40e_ring *rx_ring, int budget) | |||
1745 | * any other fields out of the rx_desc until we know the | 1745 | * any other fields out of the rx_desc until we know the |
1746 | * DD bit is set. | 1746 | * DD bit is set. |
1747 | */ | 1747 | */ |
1748 | rmb(); | 1748 | dma_rmb(); |
1749 | 1749 | ||
1750 | if (i40e_rx_is_programming_status(qword)) { | 1750 | if (i40e_rx_is_programming_status(qword)) { |
1751 | i40e_clean_programming_status(rx_ring, rx_desc); | 1751 | i40e_clean_programming_status(rx_ring, rx_desc); |
diff --git a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c index e2ddb30e96f5..b077e02a0cc7 100644 --- a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c +++ b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c | |||
@@ -1034,7 +1034,7 @@ static int i40e_clean_rx_irq_ps(struct i40e_ring *rx_ring, int budget) | |||
1034 | * any other fields out of the rx_desc until we know the | 1034 | * any other fields out of the rx_desc until we know the |
1035 | * DD bit is set. | 1035 | * DD bit is set. |
1036 | */ | 1036 | */ |
1037 | rmb(); | 1037 | dma_rmb(); |
1038 | rx_bi = &rx_ring->rx_bi[i]; | 1038 | rx_bi = &rx_ring->rx_bi[i]; |
1039 | skb = rx_bi->skb; | 1039 | skb = rx_bi->skb; |
1040 | if (likely(!skb)) { | 1040 | if (likely(!skb)) { |
@@ -1213,7 +1213,7 @@ static int i40e_clean_rx_irq_1buf(struct i40e_ring *rx_ring, int budget) | |||
1213 | * any other fields out of the rx_desc until we know the | 1213 | * any other fields out of the rx_desc until we know the |
1214 | * DD bit is set. | 1214 | * DD bit is set. |
1215 | */ | 1215 | */ |
1216 | rmb(); | 1216 | dma_rmb(); |
1217 | 1217 | ||
1218 | rx_bi = &rx_ring->rx_bi[i]; | 1218 | rx_bi = &rx_ring->rx_bi[i]; |
1219 | skb = rx_bi->skb; | 1219 | skb = rx_bi->skb; |