From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C460CA09FF; Thu, 7 Jan 2021 09:41:54 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 748BF140F3E; Thu, 7 Jan 2021 09:41:20 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 4F42E140F31 for ; Thu, 7 Jan 2021 09:41:17 +0100 (CET) IronPort-SDR: qzO5uhltdR48g856wkPoj/pgz9Ve1Q0c+/OaB8qLGFSNgpuS1LrzLzrDIt4rjpZPEo6h8+sVw/ OVmqQov+mgLQ== X-IronPort-AV: E=McAfee;i="6000,8403,9856"; a="174819166" X-IronPort-AV: E=Sophos;i="5.79,329,1602572400"; d="scan'208";a="174819166" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Jan 2021 00:41:16 -0800 IronPort-SDR: y7x4+y6uEwic3STd52rGY/V+KikC9nT582JiYn086KHea9AoIlqqi6oOwHyGqoMNstQUofKN1V R9BLaSAviV7A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,329,1602572400"; d="scan'208";a="346928888" Received: from dpdk-wujingji.sh.intel.com ([10.67.119.101]) by orsmga003.jf.intel.com with ESMTP; 07 Jan 2021 00:41:14 -0800 From: Jingjing Wu To: dev@dpdk.org Cc: jingjing.wu@intel.com, beilei.xing@intel.com, chenbo.xia@intel.com, xiuchun.lu@intel.com Date: Thu, 7 Jan 2021 16:27:18 +0800 Message-Id: <20210107082718.33748-6-jingjing.wu@intel.com> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20210107082718.33748-1-jingjing.wu@intel.com> References: <20210107074533.15465-1-jingjing.wu@intel.com> <20210107082718.33748-1-jingjing.wu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v3 5/5] net/iavf: fix vector mapping with queue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Fix the vector mapping with queue by changing the recircle when exceeds RX_VEC_START + nb_msix; Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt") Signed-off-by: Jingjing Wu --- drivers/net/iavf/iavf_ethdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c index 06395f852b..b169b19975 100644 --- a/drivers/net/iavf/iavf_ethdev.c +++ b/drivers/net/iavf/iavf_ethdev.c @@ -570,7 +570,7 @@ static int iavf_config_rx_queues_irqs(struct rte_eth_dev *dev, /* If Rx interrupt is reuquired, and we can use * multi interrupts, then the vec is from 1 */ - vf->nb_msix = RTE_MIN(vf->vf_res->max_vectors, + vf->nb_msix = RTE_MIN(vf->vf_res->max_vectors - 1, intr_handle->nb_efd); vf->msix_base = IAVF_RX_VEC_START; vec = IAVF_RX_VEC_START; @@ -578,7 +578,7 @@ static int iavf_config_rx_queues_irqs(struct rte_eth_dev *dev, qv_map[i].queue_id = i; qv_map[i].vector_id = vec; intr_handle->intr_vec[i] = vec++; - if (vec >= vf->nb_msix) + if (vec >= vf->nb_msix + IAVF_RX_VEC_START) vec = IAVF_RX_VEC_START; } vf->qv_map = qv_map; -- 2.21.1