From af167bcf174b59fa4776297e628a94143cf6a330 Mon Sep 17 00:00:00 2001 From: Qi Zhang Date: Sun, 29 Aug 2021 17:24:52 +0800 Subject: [PATCH] net/ice: fix performance with writeback policy Apply the same fix that for iavf to DCF commit ead06572bd8f ("net/iavf: fix performance with writeback policy") Fixes: 4b0d391f0eab ("net/ice: add queue config in DCF") Cc: stable@dpdk.org Signed-off-by: Qi Zhang Tested-by: Lijuan Tu --- drivers/net/ice/ice_dcf_ethdev.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/net/ice/ice_dcf_ethdev.c b/drivers/net/ice/ice_dcf_ethdev.c index 94c6a6e61c..f510bad381 100644 --- a/drivers/net/ice/ice_dcf_ethdev.c +++ b/drivers/net/ice/ice_dcf_ethdev.c @@ -178,10 +178,15 @@ ice_dcf_config_rx_queues_irqs(struct rte_eth_dev *dev, VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) { /* If WB_ON_ITR supports, enable it */ hw->msix_base = IAVF_RX_VEC_START; + /* Set the ITR for index zero, to 2us to make sure that + * we leave time for aggregation to occur, but don't + * increase latency dramatically. + */ IAVF_WRITE_REG(&hw->avf, IAVF_VFINT_DYN_CTLN1(hw->msix_base - 1), - IAVF_VFINT_DYN_CTLN1_ITR_INDX_MASK | - IAVF_VFINT_DYN_CTLN1_WB_ON_ITR_MASK); + (0 << IAVF_VFINT_DYN_CTLN1_ITR_INDX_SHIFT) | + IAVF_VFINT_DYN_CTLN1_WB_ON_ITR_MASK | + (2UL << IAVF_VFINT_DYN_CTLN1_INTERVAL_SHIFT)); } else { /* If no WB_ON_ITR offload flags, need to set * interrupt for descriptor write back. -- 2.20.1