From patchwork Wed May 17 13:45:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Lilja X-Patchwork-Id: 24340 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 ECD122C2F; Wed, 17 May 2017 15:45:28 +0200 (CEST) Received: from mail01.napatech.com (mail01.napatech.com [188.120.77.121]) by dpdk.org (Postfix) with ESMTP id 05B7E292D for ; Wed, 17 May 2017 15:45:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; i=@napatech.com; q=dns/txt; s=mar2017; t=1495028727; x=1526564727; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=D80J+XZXXBkBuYADA1U6DFdQQZZDatmxgeZSFs28Qmk=; b=Qli3VY6wtvz2pSfXRbzo9PABGVsmOy3ZwOfSVudhi3iMHD5HknYFj3Pr Lgc0PSE3W7K5PrNogOVqPNRyizrcHFxg7r6E3Ji5ZJGII4eSONeUocFWe +yLil/Rrr3rKPt9RgTeQl9B1WBuaPwzBllfq7FxGjDKmf3qnHmn6Wg6Bf 9sG5NjcrKvnucqLnvmOG8lWIQiM7qaW88OXWLofQMD34AfazE0tW9BSdQ +UGSSl3uamHB11cak52UD9OrBzED94HQzx8lONQA3ZWDyzQ+R/C57jtQH gNl9iY5eLB9uvMLbwq9rzAdD0wUbHcrUJcEnE+0n4cFxCE9YgTysy6lj0 g==; IronPort-PHdr: 9a23:D0BmgBJANh1KAMXmQ9mcpTZWNBhigK39O0sv0rFitYgQI/3xwZ3uMQTl6Ol3ixeRBMOAuq0C0rWd7f6ocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbQhFgDiwbalvIBi0ognct8gbipZ+J6gszRfEvmFGcPlMy2NyIlKTkRf85sOu85Nm7i9dpfEv+dNeXKvjZ6g3QqBWAzogM2Au+c3krgLDQheV5nsdSWoZjBxFCBXY4R7gX5fxtiz6tvdh2CSfIMb7Q6w4VSik4qx2ThLjlSUJOCMj8GzPisJ+kr9VrhyiqRJ4wYHUbo6aO+Z/fq7GYdMWWXBMUtpLWiBdHo+xaZYEAeobPeZfqonwv1wArRqiCgmsHuzg1DtIjWLw06071+QhExvJ1xEnEtILtHTZt9P1O70KUe+v0KnH0ynMb/NM1Tjh74jIdwksrPeRVrxzacrc0VQjGx/fglmOpoHpIymZ2vkXv2WY4OdsTf+jh3I9pw1vrTWiyN0ghpTVio4Py13J8SN0y5svK9KiUk50e9ukHYNVtyGdKoR5XNsvQ3ptuCYm0r0GvoO7fDQSxJQn2RHfb/uHfpCN4h35VeaRJS10hHR/d7KnnRmy7VavxfH8VsWuzFlKqS9FnsHNtnALyRPT9tCKRuZh8ku7xzqC2Bzf5vtZLUwulqfWJIYtwrsqmZoStUTDEDX2mELzjKKOc0Uk/vOl6+L9bbX+vJCcK5F7hR3+Mqg0hsO/BuE4PhAUX2eH4eS8yKHj/UrhTbpXkPI2jLLUv43CJcsGpa61GQhV0pws60X3MzDzhNgVg1ELNF5GPhWdgN66FUvJJaXdDPy/ilmo2BNqw/LPdunkBr3LJ2DKjLrqffB27EsKm1l79sxW+58BUuJJG/n0QEKk7NE= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2FrAQAhUxxZ/1QB8ApcHAEBBAEBCgEBFwEBBAEBCgEBhRgHjX6nW4IPHIYIAoYZGAEBAQEBAQEBAQEBAoEQgjMigkQGJ1IQUVcGDgW5LDqLBgEBAQEBBQEBAQEBIwkBhlWBXohKhSYFiT8HiDmMEZMOghGPaYkBi0UfgUMvIAgZFYc+dIdbgQ0BAQE X-IPAS-Result: A2FrAQAhUxxZ/1QB8ApcHAEBBAEBCgEBFwEBBAEBCgEBhRgHjX6nW4IPHIYIAoYZGAEBAQEBAQEBAQEBAoEQgjMigkQGJ1IQUVcGDgW5LDqLBgEBAQEBBQEBAQEBIwkBhlWBXohKhSYFiT8HiDmMEZMOghGPaYkBi0UfgUMvIAgZFYc+dIdbgQ0BAQE 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 15:45:25 +0200 From: Michael Lilja To: CC: Michael Lilja Date: Wed, 17 May 2017 15:45:18 +0200 Message-ID: <20170517134518.10838-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 v6] 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 --- 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, 13 insertions(+), 13 deletions(-) diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c index 28cc554f5..16cb963ce 100644 --- a/drivers/net/i40e/i40e_fdir.c +++ b/drivers/net/i40e/i40e_fdir.c @@ -1295,28 +1295,28 @@ 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); + i = 0; + for (; 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."); 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_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 -ETIMEDOUT; } /*