From: Michael Lilja <ml@napatech.com>
To: <helin.zhang@intel.com>, <jingjing.wu@intel.com>
Cc: <dev@dpdk.org>, Michael Lilja <ml@napatech.com>
Subject: [PATCH v8] net/i40e: improved FDIR programming times
Date: Wed, 17 May 2017 16:57:57 +0200 [thread overview]
Message-ID: <20170517145757.22299-1-ml@napatech.com> (raw)
In-Reply-To: <20170517103807.18746-1-ml@napatech.com>
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 <ml@napatech.com>
---
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;
}
/*
--
2.12.2
next prev parent reply other threads:[~2017-05-17 14:58 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-16 22:01 [PATCH v3] net/i40e: Improved FDIR programming times Michael Lilja
2017-05-17 2:22 ` Xing, Beilei
2017-05-17 8:44 ` Ferruh Yigit
2017-05-17 9:12 ` [PATCH v4] net/i40e: improved " Michael Lilja
2017-05-17 9:39 ` Xing, Beilei
2017-05-17 10:38 ` [PATCH v5] " Michael Lilja
2017-05-17 10:43 ` Xing, Beilei
2017-05-17 11:21 ` Ferruh Yigit
2017-05-17 13:45 ` [PATCH v6] " Michael Lilja
2017-05-17 14:10 ` Ferruh Yigit
2017-05-17 14:31 ` [PATCH v7] " Michael Lilja
2017-05-17 14:43 ` Ferruh Yigit
2017-05-17 14:46 ` Michael Lilja
2017-05-17 14:50 ` Ferruh Yigit
2017-05-17 14:52 ` Michael Lilja
2017-05-17 14:57 ` Michael Lilja [this message]
2017-05-17 15:16 ` [PATCH v8] " Ferruh Yigit
2017-05-17 15:33 ` Michael Lilja
2017-05-18 1:38 ` Xing, Beilei
2017-05-18 8:52 ` Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170517145757.22299-1-ml@napatech.com \
--to=ml@napatech.com \
--cc=dev@dpdk.org \
--cc=helin.zhang@intel.com \
--cc=jingjing.wu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.