From patchwork Tue May 16 22:01:32 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Lilja X-Patchwork-Id: 24327 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id C16EC2986; Wed, 17 May 2017 00:01:42 +0200 (CEST) Received: from mail02.napatech.com (mail02.napatech.com [188.120.77.119]) by dpdk.org (Postfix) with ESMTP id 0207F20F for ; Wed, 17 May 2017 00:01:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; i=@napatech.com; q=dns/txt; s=mar2017; t=1494972102; x=1526508102; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=b7xL/cZnxItj4wQhCEXMor3AzcHTi6Xh7E0HRSWLUgU=; b=k3Zh/tNmcjZkbWwyZ6jlPYNuw282j78qJo9SHUyX040WBsN2c9jfikK2 AmEOWddDztsUDjZwbbqTsBvlKkTlt+b4bmaOAOy4s4JchpfS1xunr32tZ AJRoLj7nLLTL1iyjrNeV7nAkpQA6gbno4TzumKBGa2Th0B0+YfsdijSZ8 XeMym0vqAfA+aFwJojhusyljH8NrD0dm6UOMVOJg/UJpJKRflvp0bfltf mK2JimlG1jnABR0Cu7McwHzovkAFh05h/ZqH0TX0OhjkR6PjAcpn6KQ0e hyg9yLTdoVyzq1GcjNaTYCr4AqduTaVzKaWjkd0P85sV1GzIF+JmOxsvk w==; IronPort-PHdr: 9a23:VkH83heegtLr/9Ot9iscA/VnlGMj4u6mDksu8pMizoh2WeGdxcqybR7h7PlgxGXEQZ/co6odzbGH7Oa5BydYvd6oizMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVrO+/7BpDdj9it1+C15pbffxhEiCCzbL52Lhi6txjdu8gZjYd+Jas61wfErGZPd+lK321jOEidnwz75se+/Z5j9zpftvc8/MNeUqv0Yro1Q6VAADspL2466svrtQLeTQSU/XsTTn8WkhtTDAfb6hzxQ4r8vTH7tup53ymaINH2QLUpUjms86tnVBnlgzoBOjUk8m/Yl9Zwgbpbrhy/uhJxzY3aboaaO/Vif6PTcsgXRXZYXstLSyBMGJ+wY5cJAuEcPehYtY79p14WoBW5BAmjGOPvxSVWiX/ywKY01eUhEQXE3AM6AtkDt3HUrNHuOacUS++11LPHzSndYPxK2Tfx8pTHchckofyVW797bMnfyVE3Gg/Yklmcs5LpMjyJ2ugXrmSX9eltWO23h2I6tw19uCajy8gih4XTm44Z1krI+CR9zYszONa2UlR0YcS+H5tVryyaMox2Td48TGxwoyY6z6EGuYa8fCgX1JQr3x7fZOKDc4iP+h/jUfyeITZ8hH5/frKwnQ6y/lK8yuLiSsa00ExGoTZCktnJrnwN1hrT5dabSvZl40utxSyD2x7c5+1YO0w4iLDXJp0uz7Iok5ocq0XDHiv4mEXsi6+Wc10p+u2s6+n8ZLXpvIecOJVoig7gLqsumtazDvg/MggLR2Sb4/iz1KX//U3lR7VHluA5nbfHsJ3BOMsbvrO2AwxP3oYk8Ra/AGTu7NNNyXUKMnpJYB6EyY/zNAedDur/CKKagl+smTpvj9THOr/oSsHIKlDFma/oYbt26whXzw9lnoMX3I5dFrxUeKG7YUT2rtGNVhI= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2FrAQDXdRtZ/1QB8ApcHAEBBAEBCgEBFwEBBAEBCgEBhRgHjX2nWYIPHIYIhhAYAQEBAQEBAQEBAQECgRCCMyKCcVKBPg4FuG46iwcBAQEHAiYJAYREghGBXodPEgFohSYFiT2IPowPkw6CEYU7iiyUQx+BOAsvIAgZFYc+dIYVgSGBDQEBAQ X-IPAS-Result: A2FrAQDXdRtZ/1QB8ApcHAEBBAEBCgEBFwEBBAEBCgEBhRgHjX2nWYIPHIYIhhAYAQEBAQEBAQEBAQECgRCCMyKCcVKBPg4FuG46iwcBAQEHAiYJAYREghGBXodPEgFohSYFiT2IPowPkw6CEYU7iiyUQx+BOAsvIAgZFYc+dIYVgSGBDQEBAQ Received: from localhost.localdomain (10.243.10.69) by cph-gen-exch02.napatech.com (10.240.1.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.845.34; Wed, 17 May 2017 00:01:40 +0200 From: Michael Lilja To: CC: Michael Lilja Date: Wed, 17 May 2017 00:01:32 +0200 Message-ID: <20170516220132.3813-1-ml@napatech.com> X-Mailer: git-send-email 2.12.2 MIME-Version: 1.0 X-Originating-IP: [10.243.10.69] X-ClientProxiedBy: cph-gen-exch02.napatech.com (10.240.1.84) To cph-gen-exch02.napatech.com (10.240.1.84) Subject: [dpdk-dev] [PATCH v3] net/i40e: Improved FDIR programming times X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" Previously, the FDIR programming time is +11ms on i40e. This patch will result in an average programming time of 22usec with a max of 60usec . Signed-off-by: Michael Lilja --- v3: * Code style fix --- drivers/net/i40e/i40e_fdir.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) -- 2.12.2 Disclaimer: This email and any files transmitted with it may contain confidential information intended for the addressee(s) only. The information is not to be surrendered or copied to unauthorized persons. If you have received this communication in error, please notify the sender immediately and delete this e-mail from your system. diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c index 28cc554f5..2162443f5 100644 --- a/drivers/net/i40e/i40e_fdir.c +++ b/drivers/net/i40e/i40e_fdir.c @@ -1296,23 +1296,28 @@ i40e_fdir_filter_programming(struct i40e_pf *pf, rte_wmb(); I40E_PCI_REG_WRITE(txq->qtx_tail, txq->tx_tail); - for (i = 0; i < I40E_FDIR_WAIT_COUNT; i++) { - rte_delay_us(I40E_FDIR_WAIT_INTERVAL_US); + for (i = 0; i < (I40E_FDIR_WAIT_COUNT * I40E_FDIR_WAIT_INTERVAL_US); i++) { if ((txdp->cmd_type_offset_bsz & - rte_cpu_to_le_64(I40E_TXD_QW1_DTYPE_MASK)) == - rte_cpu_to_le_64(I40E_TX_DESC_DTYPE_DESC_DONE)) + rte_cpu_to_le_64(I40E_TXD_QW1_DTYPE_MASK)) == + rte_cpu_to_le_64(I40E_TX_DESC_DTYPE_DESC_DONE)) break; + rte_delay_us(1); } - if (i >= I40E_FDIR_WAIT_COUNT) { + if (i >= (I40E_FDIR_WAIT_COUNT * I40E_FDIR_WAIT_INTERVAL_US)) { PMD_DRV_LOG(ERR, "Failed to program FDIR filter:" - " time out to get DD on tx queue."); + " time out to get DD on tx queue."); return -ETIMEDOUT; } /* totally delay 10 ms to check programming status*/ - rte_delay_us((I40E_FDIR_WAIT_COUNT - i) * I40E_FDIR_WAIT_INTERVAL_US); + for (i = 0; i < (I40E_FDIR_WAIT_COUNT * I40E_FDIR_WAIT_INTERVAL_US); i++) { + if (i40e_check_fdir_programming_status(rxq) >= 0) { + break; + } + rte_delay_us(1); + } if (i40e_check_fdir_programming_status(rxq) < 0) { PMD_DRV_LOG(ERR, "Failed to program FDIR filter:" - " programming status reported."); + " programming status reported."); return -ENOSYS; }