net/ice: use write combining store for tail on AVX512
authorRadu Nicolau <radu.nicolau@intel.com>
Fri, 9 Apr 2021 10:09:03 +0000 (10:09 +0000)
committerQi Zhang <qi.z.zhang@intel.com>
Tue, 13 Apr 2021 14:18:40 +0000 (16:18 +0200)
Performance improvement: use a write combining store
instead of a regular mmio write to update queue tail
registers.

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/ice/ice_rxtx_vec_avx512.c

index 835d0aa..0a3e8da 100644 (file)
@@ -125,7 +125,7 @@ ice_rxq_rearm(struct ice_rx_queue *rxq)
                             (rxq->nb_rx_desc - 1) : (rxq->rxrearm_start - 1));
 
        /* Update the tail pointer on the NIC */
-       ICE_PCI_REG_WRITE(rxq->qrx_tail, rx_id);
+       ICE_PCI_REG_WC_WRITE(rxq->qrx_tail, rx_id);
 }
 
 static inline __m256i
@@ -1111,7 +1111,7 @@ ice_xmit_fixed_burst_vec_avx512(void *tx_queue, struct rte_mbuf **tx_pkts,
 
        txq->tx_tail = tx_id;
 
-       ICE_PCI_REG_WRITE(txq->qtx_tail, txq->tx_tail);
+       ICE_PCI_REG_WC_WRITE(txq->qtx_tail, txq->tx_tail);
 
        return nb_pkts;
 }