From patchwork Wed May 17 10:38:07 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Lilja X-Patchwork-Id: 24335 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 391492C6D; Wed, 17 May 2017 12:38:19 +0200 (CEST) Received: from mail02.napatech.com (mail02.napatech.com [188.120.77.119]) by dpdk.org (Postfix) with ESMTP id 210942C2F for ; Wed, 17 May 2017 12:38:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; i=@napatech.com; q=dns/txt; s=mar2017; t=1495017496; x=1526553496; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=f+kUflgp4UE+H1hMo04hyO4/AvME7FCp37B3oB3YvZg=; b=r/lV3q2CSKQzadZuAFP/W/29lrWtSLu2T+1fEDMQqhlXYuVy/KJpAFNi B62P8W9qFmp1Wd8f0kQMcDGdupuVBGbX88Uy28JICEm4FxJn767xTbCmJ o+BtVEC5YyoJzMg1JjQERsa5LqwYLLL1WeHY15VZ3ABnSMBqn3NP83uBi wmN6Uo+w1ErGScBIxt6e3WmNrh8B0DrKkd8t/+s/jDh+anJjqpMyuJKqK sKRxo86NHcMABkbpE/vSYtMmjjS8+9RtvK+TgBqSwuu25gdBz4wGgqUQT znBsxpFG9CB8NicsG76901UbaFmd+dhAExpVIWV1GSf8Qr3bXA+d0lIt/ w==; IronPort-PHdr: 9a23:5Y7AQBHDrnjBeAzIzIUZn51GYnF86YWxBRYc798ds5kLTJ79rs2wAkXT6L1XgUPTWs2DsrQf2rWQ6v+rAz1IyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSijewZbF/IA+roQjTucUan49vIbstxxXUpXdFZ/5Yzn5yK1KJmBb86Maw/Jp9/ClVpvks6c1OX7jkcqohVbBXAygoPG4z5M3wqBnMVhCP6WcGUmUXiRVHHQ7I5wznU5jrsyv6su192DSGPcDzULs5Vyiu47ttRRT1jioMKjw3/3zNisFojKxVvg+vqRJ8zYDTYo6VOvVxcb/cfd4BWWpNQtxcWzBbD4+gc4cCCfcKM+ZCr4n6olsDtRywBQiwC+Pv0DBHmHv21rA83eQgFQHG3hYvFM8JvXTRqNX4L6ESXvqtzKbS0TXMce9Z2Tfn5IfUdRAhpOiBULRtesTS0UkiDx7JgkmKpYD7MD6Zyv4Bv3WB4+djWu+jk3Mrpx1rrjSxycohhJPFi4IJxlze9Sh0wIA4LsCiRkFhe96rCp5QujmfN4txX8wtXXlluD0/yr0aoZ67ezUKyIg/yx7fdfOHd4+I7wrmVOmLIDd4gGhpeLSliBaq60eg1vPzWdW00FpQsiVFldzMumgM1xzV9MeHVuNw8lq91TqVyQze5f1ILVopmabBKJMszaY8lp8JvkTCGi/2ll/2jKiTdkg8/+io7//qYrP8qZ+ELYB0lh/xPbgumsClHes4NQ0OU3CB+eugzL3j4VH5QLJSg/IrjKbZrovXKtkDpqGkAA9ZyIEj6wywD2Tu7NNNyXUKMnpJYB6EyY/zNAedDur/CKKagl+smTpvj9THOr/oSsHIKlDFma/oYbt26whXzw9lnoMX3I5dFrxUeKG7YUT2rtGNVhI= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2FrAQAjJxxZ/1QB8ApcHAEBBAEBCgEBFwEBBAEBCgEBhRgHjX6nWoIPHIYIAoYZGAEBAQEBAQEBAQEBAoEQgjMigkQGJ1IQUVcGDgW5HjqLBQEBAQEBBQEBAQEBIwkBhlWBXohKhSYFiT8HiDmMEZMOkXqURh+BQy8gCBkVhz50h1uBDQEBAQ X-IPAS-Result: A2FrAQAjJxxZ/1QB8ApcHAEBBAEBCgEBFwEBBAEBCgEBhRgHjX6nWoIPHIYIAoYZGAEBAQEBAQEBAQEBAoEQgjMigkQGJ1IQUVcGDgW5HjqLBQEBAQEBBQEBAQEBIwkBhlWBXohKhSYFiT8HiDmMEZMOkXqURh+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 12:38:15 +0200 From: Michael Lilja To: CC: Michael Lilja Date: Wed, 17 May 2017 12:38:07 +0200 Message-ID: <20170517103807.18746-1-ml@napatech.com> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20170517091212.6503-1-ml@napatech.com> References: <20170517091212.6503-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 v5] 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 --- v5: * Reinitialization of "i" inconsistent with original intent --- --- 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..85fd827e1 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 < (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; } /*