DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Michael Lilja <ml@napatech.com>,
	"helin.zhang@intel.com" <helin.zhang@intel.com>,
	"jingjing.wu@intel.com" <jingjing.wu@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v7] net/i40e: improved FDIR programming times
Date: Wed, 17 May 2017 15:50:15 +0100	[thread overview]
Message-ID: <418df5db-0bcb-ff87-e766-b03165355ec4@intel.com> (raw)
In-Reply-To: <6142ac19d3b346c087d7e7ecdb995a56@napatech.com>

On 5/17/2017 3:46 PM, Michael Lilja wrote:
> It's ok. I didn't write the original code so I cannot tell why the two defines were made in the initial case. It make sense to remove them, but the maintainers must have had a reason, maybe they are needed in a future version of the code?

In original code, they have a meaning:
for (i = 0; i < I40E_FDIR_WAIT_COUNT; i++)
	rte_delay_us(I40E_FDIR_WAIT_INTERVAL_US);

wait step is I40E_FDIR_WAIT_INTERVAL_US.

But you changed to fixes 1us stepping. So WAIT_COUNT and
WAIT_INTERVAL_US are no more meaningful. And since they are not used
anywhere else, I think they can go away.

And we can wait from maintainers ack for any "plan to use in the future"
case.

Thanks,
ferruh

> 
> /Michael
> 
> -----Original Message-----
> From: Ferruh Yigit [mailto:ferruh.yigit@intel.com]
> Sent: 17 May 2017 16:44
> To: Michael Lilja <ml@napatech.com>; helin.zhang@intel.com; jingjing.wu@intel.com
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v7] net/i40e: improved FDIR programming times
> 
> On 5/17/2017 3:31 PM, Michael Lilja wrote:
>> 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>
> 
> Sorry for multiple, minor change requests ...
> 
>>
>> ---
>> 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 | 22 +++++++++++-----------
>>  1 file changed, 11 insertions(+), 11 deletions(-)
>>
>> diff --git a/drivers/net/i40e/i40e_fdir.c
>> b/drivers/net/i40e/i40e_fdir.c index 28cc554f5..1192d5831 100644
>> --- a/drivers/net/i40e/i40e_fdir.c
>> +++ b/drivers/net/i40e/i40e_fdir.c
>> @@ -76,6 +76,7 @@
>>  /* Wait count and interval for fdir filter programming */
>>  #define I40E_FDIR_WAIT_COUNT       10
>>  #define I40E_FDIR_WAIT_INTERVAL_US 1000
>> +#define I40E_FDIR_MAX_WAIT (I40E_FDIR_WAIT_COUNT *
>> +I40E_FDIR_WAIT_INTERVAL_US)
> 
> It looks like I40E_FDIR_WAIT_COUNT and I40E_FDIR_WAIT_INTERVAL_US not used anywhere else, is there any value to keep them?
> 
> why not:
> #define I40E_FDIR_MAX_WAIT_US 10000 /* 10 ms */
> 
>>
>>  /* Wait count and interval for fdir filter flush */
>>  #define I40E_FDIR_FLUSH_RETRY       50
>> @@ -1295,28 +1296,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; 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) {
>>  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; 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;
>>  }
>>
>>  /*
>>
> 
> 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.
> 

  reply	other threads:[~2017-05-17 14:50 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-16 22:01 [dpdk-dev] [PATCH v3] net/i40e: Improved " Michael Lilja
2017-05-17  2:22 ` Xing, Beilei
2017-05-17  8:44   ` Ferruh Yigit
2017-05-17  9:12 ` [dpdk-dev] [PATCH v4] net/i40e: improved " Michael Lilja
2017-05-17  9:39   ` Xing, Beilei
2017-05-17 10:38   ` [dpdk-dev] [PATCH v5] " Michael Lilja
2017-05-17 10:43     ` Xing, Beilei
2017-05-17 11:21     ` Ferruh Yigit
2017-05-17 13:45     ` [dpdk-dev] [PATCH v6] " Michael Lilja
2017-05-17 14:10       ` Ferruh Yigit
2017-05-17 14:31     ` [dpdk-dev] [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 [this message]
2017-05-17 14:52             ` Michael Lilja
2017-05-17 14:57     ` [dpdk-dev] [PATCH v8] " Michael Lilja
2017-05-17 15:16       ` 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=418df5db-0bcb-ff87-e766-b03165355ec4@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=dev@dpdk.org \
    --cc=helin.zhang@intel.com \
    --cc=jingjing.wu@intel.com \
    --cc=ml@napatech.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).