From patchwork Wed May 17 09:12:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Lilja X-Patchwork-Id: 24334 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 1FD6F2C2F; Wed, 17 May 2017 11:12:27 +0200 (CEST) Received: from mail02.napatech.com (mail02.napatech.com [188.120.77.119]) by dpdk.org (Postfix) with ESMTP id 128EB2C2F for ; Wed, 17 May 2017 11:12:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; i=@napatech.com; q=dns/txt; s=mar2017; t=1495012343; x=1526548343; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=mlynHbu+H1sVPfctQt+/HxwA+aolVmsbtzj0kQ8YSgY=; b=emkhZVgV1rTA6arQ29BLbQULOAUuOv7j5TSK2F5I7uceSqb7kRWzcxhH F1NQsOw9UdoxdqGy8P4yupqmEt9j8D1+2MW8S4QS5rFNPHPsDKpS5I7EE 8RvZxrrImHuFsIFS+SHwndiyBOxBn7qShPBEWhvXSYaI0uLwlTKdQXoS7 RoBylcfKOLOKWzZ+J91WoK7h7T30hOI+j89kTASwXwHZGKx+Tc1fGmglU kLrs+H4tn/5s4Zr84asMg7JwAG/kzqMedSwQaNEZvIB4x5xlPjSCb+jmP 7xLIurVBtbndt4+yGtuxDLUd58ScEHX6DxlHTTzyE8NFUtmNUcVqj+gyp g==; IronPort-PHdr: 9a23:SJZ1NhS6ciaxfseFYHyNlbdKD9psv+yvbD5Q0YIujvd0So/mwa68bRWN2/xhgRfzUJnB7Loc0qyN4v+mADNLuM7JmUtBWaQEbwUCh8QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYdFRrlKAV6OPn+FJLMgMSrzeCy/IDYbxlViDanb75/KBe7oR/MusQUjoduN7o9wQbVr3VVfOhb2XlmLk+JkRbm4cew8p9j8yBOtP8k6sVNT6b0cbkmQLJBFDgpPHw768PttRnYUAuA/WAcXXkMkhpJGAfK8hf3VYrsvyTgt+p93C6aPdDqTb0xRD+v4btnRAPuhSwaMTMy7WPZhdFqjK9DoByvuQFxzYDXbo+SNvV+cKzScs8bRWdaQsZdSzZMDp+mYocTE+YMO/tToYnnp1sJqBuzHQ6iBOLzxT9InHD5w6k62PknHwHH2AwgHcgBu2nTodXwMKcfSua1w7PQzTrZc/NZxyvy6IjSfh89pvGMWKt9fMzMwkcsDwPIlkicpZD/Mz+L2ekBr3KX4/d6We+shGMrsxx9riS1yssyhYTEiJgZx1DY+SljwIs4Jdu1Q1Nhb9G+CptfrSSaOpNzQsMlXm5npj43yqYDuZ6nZCgKz4knxwLHZ/yHbYeI5hXjWf6UIThihXJlfKizhxCo/ki40OL8Ste730pKriZfjtbMsXUN2wTS6siBVPR94l+s1SuT2wzJ9O1JLlw4mbDGJ5I7wbM9mYIfsUHZES/3nEX2grWWdkIh+uWw7uTnZq7rppmGOI9skA7+LrohldC/AegiLgcOWG2b9fym1LL/5U35XKlKjvoun6bErp/aO98WqbOhAwBI0YYv8RG/Dy2p0IdQoX5SeF5IZjqLl4TqfVbUL6arI+24hgGJkTxrzv3CdpngBpfEZizGlJ/ndK5090NXyEw4ytUJtMEcMa0IPP+mAhy5j9ffFBJsawE= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2FrAQA7ExxZ/1QB8ApcHAEBBAEBCgEBFwEBBAEBCgEBhRgHjX6nW4IPHIYIAoYXGAEBAQEBAQEBAQEBAoEQgjMigkQGJ1IQUVcGDgW5ADqLBgEBAQEBBQEBAQEBIwkBhlWBXohKhSYFiT8HiDmMEZMOkXqURh+BQy8gCBkVhz50h1uBDQEBAQ X-IPAS-Result: A2FrAQA7ExxZ/1QB8ApcHAEBBAEBCgEBFwEBBAEBCgEBhRgHjX6nW4IPHIYIAoYXGAEBAQEBAQEBAQEBAoEQgjMigkQGJ1IQUVcGDgW5ADqLBgEBAQEBBQEBAQEBIwkBhlWBXohKhSYFiT8HiDmMEZMOkXqURh+BQy8gCBkVhz50h1uBDQEBAQ Received: from localhost.localdomain (10.243.50.55) 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 11:12:20 +0200 From: Michael Lilja To: CC: Michael Lilja Date: Wed, 17 May 2017 11:12:12 +0200 Message-ID: <20170517091212.6503-1-ml@napatech.com> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20170516220132.3813-1-ml@napatech.com> References: <20170516220132.3813-1-ml@napatech.com> MIME-Version: 1.0 X-Originating-IP: [10.243.50.55] 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 v4] 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 --- v4: * Code style fix --- --- drivers/net/i40e/i40e_fdir.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c index 28cc554f5..32f6aeafb 100644 --- a/drivers/net/i40e/i40e_fdir.c +++ b/drivers/net/i40e/i40e_fdir.c @@ -1296,27 +1296,27 @@ 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)) 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."); 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 = 0; i < (I40E_FDIR_WAIT_COUNT * I40E_FDIR_WAIT_INTERVAL_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 -ENOSYS; } /*