aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@redhat.com>2015-04-08 21:49:43 -0400
committerDavid S. Miller <davem@davemloft.net>2015-04-09 14:25:26 -0400
commit67317166dd6e8e78f20768e9f07fcc80846b207b (patch)
tree498efdb14803d3e440a985c4c4d9df8dc32bc6f5
parent12b3375f3963536ba3ad47d2db49f72067b4905e (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.c4
-rw-r--r--drivers/net/ethernet/intel/i40evf/i40e_txrx.c4
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;