From patchwork Thu May 11 10:21:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Lilja X-Patchwork-Id: 24236 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 7926F2E83; Thu, 11 May 2017 12:21:30 +0200 (CEST) Received: from mail01.napatech.com (mail01.napatech.com [188.120.77.121]) by dpdk.org (Postfix) with ESMTP id 450D51C00 for ; Thu, 11 May 2017 12:21:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; i=@napatech.com; q=dns/txt; s=mar2017; t=1494498089; x=1526034089; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=19ySMUONn+ajJKY8TBwBBHE1RSd59i9rIZkM5M8Tebs=; b=B4UYZIBYFez0lL6h98vjqs6R0gTVdNf29ggAILYD1pSURcmw0SlQgI3c RnU39AXP+iIFzczri4bATvAIMeMAS+r4cyaBeXzygijT6O0MZCcOlqoC3 SDJRcua5Mv5Dn2w5+jn/YJWslxHTpxDz4LC+4iD7ZkVlge9dbe3asxiFL qoUfvBS33mwupvEHs595jX5G0QyTDQShuwXVNGZehKONdBgYJyCG6g6zX qZB7puWMLjB2K6Fhc0rEWuLd3iH0p05iQb+MDkrP25ivX0oLQ5abaqFVZ S02FfFwRAJRFIm4etXSGlcNInYYnFTfb2F04dq6DnBIBRXI/ve4dUz6SY Q==; IronPort-PHdr: 9a23:6mFAexwpQ6DOONTXCy+O+j09IxM/srCxBDY+r6Qd1OkXIJqq85mqBkHD//Il1AaPBtSEraoZwLCL+4nbGkU4qa6bt34DdJEeHzQksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1Ov71GonPhMiryuy+4ZPebgFKiTanfb9/LBq6oRvRu8ILnYZsN6E9xwfTrHBVYepW32RoJVySnxb4+Mi9+YNo/jpTtfw86cNOSL32cKskQ7NWCjQmKH0169bwtRbfVwuP52ATXXsQnxFVHgXK9hD6XpP2sivnqupw3TSRMMPqQbwoXzmp8qFmQwLqhigaLT406GHZhNJtgqxVoxyvoBNwzJLVYI+aL/d+YrrdcMkGSWdbQspdSypMCZ68YYsVCOoBOP5VoY78p1QSrRuxHxejBOfywTFOh3/22a863P48GgzB2QwgG8kDsHLOo9XtLqgSTf66w7XIzTnZc/xW3jL95ZHOfxs8r/+MWrdwftDQyUkpDw7FiE+fqZT/MDOJyOsCr2ib4/B8WuKojm4qrRx6rDu3xso0l4XFmpgZxk7L+Cll2oo5OMe0RU10bNK8DZdcqzuWO5V5T88+WW1luDo2xqcEtJO7eiUB1Y4pyATFa/OddoiF+hfjVOGMLjhmnH9lY7e/hwqq8Uin1+38StG40FZUoSpBldnBrnUN2AbS6siDUPd9+F2u2S6V2ADP9O5LPUA0mbDHJJ4mx748jpsTsULdES/qgEj6kbOael869uWn9+jreKjqqoWfOoJ7kg3+N74hms27AeQ2KAgOWG2b9Py51L3n5kD5Rq9FjuUsnanFrp/VOcQbqrSlDA9S14Yv8wy/ACu+0NQEgXkHK0pIdw+ZgIj3IFzBPej4Auq8g1i2lzdr3f/GbfXdBcCZInXduLv5cbU77FRTnlkd19dasrdVAbEILfa7fk71ttWQWho9Gwq92+/7Bd59kIgZXDTcUeeiLKrOvArQtaoUKO6WadpNtQ== X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2H0AABxOhRZ/1QB8ApdHAEBBAEBCgEBFwEBBAEBCgEBhAyBDAeNeqdOgg8cEIV4hUsYAQEBAQEBAQEBAQECgRCCMyCBLCwISAFHUoE+DgWKMLJGOop0AQEBAQEFAQEBAR8FCQGERIIRgV6HTxIBaIUmBYk9iD6MD5MOghGFO4osSJN7H4E4Cy8gCBkVhz10hmuBIYENAQEB X-IPAS-Result: A2H0AABxOhRZ/1QB8ApdHAEBBAEBCgEBFwEBBAEBCgEBhAyBDAeNeqdOgg8cEIV4hUsYAQEBAQEBAQEBAQECgRCCMyCBLCwISAFHUoE+DgWKMLJGOop0AQEBAQEFAQEBAR8FCQGERIIRgV6HTxIBaIUmBYk9iD6MD5MOghGFO4osSJN7H4E4Cy8gCBkVhz10hmuBIYENAQEB Received: from localhost.localdomain (10.240.50.75) 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; Thu, 11 May 2017 12:21:27 +0200 From: Michael Lilja To: CC: Michael Lilja Date: Thu, 11 May 2017 12:21:15 +0200 Message-ID: <20170511102115.26466-1-ml@napatech.com> X-Mailer: git-send-email 2.12.2 MIME-Version: 1.0 X-Originating-IP: [10.240.50.75] 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 v2] drivers/net/i40e/i40e_fdir.c: Improved i40e 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" During my work (https://www.napatech.com/hw-acceleration-via-rte_flow/) on a flowtable application example that use rte_flow I discovered that the rte_flow programming times on a i40e was +11ms. The patch below result in an average programming time of 22usec with a max of 60usec instead of +11ms. Could the following patch be useful? There might be a good reason for the original code, I'm unable to tell, so I will let it up to the maintainer to decide. Signed-off-by: Michael Lilja --- v2: * 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; }