From patchwork Wed May 17 14:57:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Lilja X-Patchwork-Id: 24343 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 5DE352C55; Wed, 17 May 2017 16:58:10 +0200 (CEST) Received: from mail01.napatech.com (mail01.napatech.com [188.120.77.121]) by dpdk.org (Postfix) with ESMTP id 455922C2F for ; Wed, 17 May 2017 16:58:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; i=@napatech.com; q=dns/txt; s=mar2017; t=1495033089; x=1526569089; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=RzOl8wFtkP4c+7vCde2MWMdffM59aGtGPErQ43cElEM=; b=hndLG2AUMab7D6P+MPY6DvtQpCvfpvMSWLmPrfZZF4M7hxyfIOioJZUs Nl+nUEbLMsDbMJ5M+MU4dIoTN6tnrzBw1vpVfOLBcC0doFkkUT5tvZg+3 4H6Xofrot3AjpequCFjbTaWkReTu+LPVgcMi120uGGxyRGyhuCTsuMXCz uGJaDql6R3TzDCDhfcfx3py1Tnduk5+bI0kObGot1Dt5nqluS2TLk9msw UQFAJ2g6TAKHX6CWIAcuR40ZCkjupIAc9X4JZLwqKH6JKwf1r1ai89uPI GlFvECXieY7oD55yb1xjTIVb5cqSQO/J2hIr9KPNaPI4OidQInmdaFCHL w==; IronPort-PHdr: 9a23:UEWA8hb1YATJf7o0yFpcR+r/LSx+4OfEezUN459isYplN5qZoM6/bnLW6fgltlLVR4KTs6sC0LuJ9fm/EjxZqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjSwbLdwIRmssAnctMYajIh/Jq0s1hbHv3xEdvhMy2h1P1yThRH85smx/J5n7Stdvu8q+tBDX6vnYak2VKRUAzs6PW874s3rrgTDQhCU5nQASGUWkwFHDBbD4RrnQ5r+qCr6tu562CmHIc37SK0/VDq+46t3ThLjlSEKPCM7/m7KkMx9lKJVrgy8qRJxwIDaZ4OaNPRxcazBfNMXXnZBUtpLWiBdGI6wc5cDAuwcNuhYtYn9oF4OoAO5CwmtGOzvyiVHiWHy3aYn1eohEAXG3A46ENkTt3nUqdH1ObwUUe+v1KnH1ynDYO1K1jf98oTHbhchofSVUL92bMHfylEvGhvYglmMs4DpITyY2vgXv2SG9eZtVu2ih3Y6pw1tuDSj2Mghh4fTio4I1lzI7yR0zYIzKNalUkB0e8SkH4FVtyyCMot2Rd4tTH9wtSYhz70GpYa7fC8XyJQ73xLfa+KIc4yP4h/7UeaeOzZ4hHZ/dLK5nRmy6VKvyvHiWcao0FZGtDZKkt7JtnwV1hzT7NaISudl80u8xTqDzR7f5+5YLUwuiKbXMZ0sz7EompoWq0vDHyv2mEvsjK+Rc0Up4u2o6+D8b7XgvJCcL5V7ih3gPasymsyzG/g3Mg8LX2SD4+SzyKXj/VHlQLVNlvA5j7fWsI7BKMsGvq62HgxV3pwk6xalADf1mOgfyC0HIVZEflSVj4HvNHnPJuz1CbG0hFH61H8/xfHAMb/gBJqLMWXrkbH9cLI74ElZnlkd19dasrdVAbEILfa7fk71ttWQWho9Gwq92+/7Bd59kIgZXDTcUeeiLKrOvArQtaoUKO6WadpNtQ== X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2G4AACqYxxZ/1QB8ApcGgEBAQECAQEBAQgBAQEBFQEBAQECAQEBAQgBAQEBhRgHjX6nW4IPHIYIAoYaGAEBAQEBAQEBAQEBAoEQgjMigkQGJ1IQUVcGAQ0FuRI6iwUBAQEBAQEEAQEBAQEBIgkBhlWBXo1wBYk/B4g5jBGTDoIRj2mJAYtFH4FDLyAIGRWHPnSHW4ENAQEB X-IPAS-Result: A2G4AACqYxxZ/1QB8ApcGgEBAQECAQEBAQgBAQEBFQEBAQECAQEBAQgBAQEBhRgHjX6nW4IPHIYIAoYaGAEBAQEBAQEBAQEBAoEQgjMigkQGJ1IQUVcGAQ0FuRI6iwUBAQEBAQEEAQEBAQEBIgkBhlWBXo1wBYk/B4g5jBGTDoIRj2mJAYtFH4FDLyAIGRWHPnSHW4ENAQEB 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 16:58:07 +0200 From: Michael Lilja To: , CC: , Michael Lilja Date: Wed, 17 May 2017 16:57:57 +0200 Message-ID: <20170517145757.22299-1-ml@napatech.com> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20170517103807.18746-1-ml@napatech.com> References: <20170517103807.18746-1-ml@napatech.com> 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 v8] 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 Acked-by: Beilei Xing --- v8: * Merged two defines into one handling max wait time v7: * Code style changes v6: * Fixed code style issues v5: * Reinitialization of "i" inconsistent with original intent v4: * Code style fix v3: * Replaced commit message v2: * Code style fix v1: * Initial version --- --- drivers/net/i40e/i40e_fdir.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c index 28cc554f5..f94e1c3b8 100644 --- a/drivers/net/i40e/i40e_fdir.c +++ b/drivers/net/i40e/i40e_fdir.c @@ -73,9 +73,8 @@ #define I40E_FDIR_IPv6_PAYLOAD_LEN 380 #define I40E_FDIR_UDP_DEFAULT_LEN 400 -/* Wait count and interval for fdir filter programming */ -#define I40E_FDIR_WAIT_COUNT 10 -#define I40E_FDIR_WAIT_INTERVAL_US 1000 +/* Wait time for fdir filter programming */ +#define I40E_FDIR_MAX_WAIT_US 10000 /* Wait count and interval for fdir filter flush */ #define I40E_FDIR_FLUSH_RETRY 50 @@ -1295,28 +1294,27 @@ i40e_fdir_filter_programming(struct i40e_pf *pf, /* Update the tx tail register */ 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_MAX_WAIT_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)) break; + rte_delay_us(1); } - if (i >= I40E_FDIR_WAIT_COUNT) { + if (i >= I40E_FDIR_MAX_WAIT_US) { PMD_DRV_LOG(ERR, "Failed to program FDIR filter:" " 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); - if (i40e_check_fdir_programming_status(rxq) < 0) { - PMD_DRV_LOG(ERR, "Failed to program FDIR filter:" - " programming status reported."); - return -ENOSYS; + for (; i < I40E_FDIR_MAX_WAIT_US; i++) { + if (i40e_check_fdir_programming_status(rxq) >= 0) + return 0; + rte_delay_us(1); } - - return 0; + PMD_DRV_LOG(ERR, "Failed to program FDIR filter:" + " programming status reported."); + return -ETIMEDOUT; } /*