DPDK usage discussions
 help / color / mirror / Atom feed
From: "Rosen, Rami" <rami.rosen@intel.com>
To: "Dorsett, Michal" <Michal.Dorsett@verint.com>,
	"users@dpdk.org" <users@dpdk.org>
Subject: Re: [dpdk-users] RTE_LIBRTE_I40E_ITR_INTERVAL
Date: Sun, 20 Aug 2017 20:41:05 +0000	[thread overview]
Message-ID: <9B0331B6EBBD0E4684FBFAEDA55776F93DAC8C05@HASMSX110.ger.corp.intel.com> (raw)
In-Reply-To: <DAC43FCF19B05149A1D1F5E9005F94F801358EEFA0@TLVMBX1.verint.corp.verintsystems.com>

Hi,
This is more an educated guess as I did not actually worked with this DPDK feature with i40E, but I did work 
with interrupt coalescing/interrupt throttling with kernel drivers
of a different vendor so I hope it makes sense:

I suggest first take a look here:
https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.performance/interrupt_coal.htm

The idea is quite simple: delaying interrupts for a predefined interval of time. There is a tradeoff between latency and performance, and for sure with light loads, interrupt coalescing adds latency, and in high load, the performance is improved, as is stated in the link above. Seems that optimization should be done according to the profile of traffic load in a given setup.

Anyhow, it seems that this config item (CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL) is used in a simple linear method to calculate the time interval of interrupt delay (all it does is align it to microseconds, according to my understanding): 


i40e_calc_itr_interval(int16_t interval)
{
...
	/* Convert to hardware count, as writing each 1 represents 2 us */
	return interval / 2;
...
}
(i40e_ethdev.h)

And this config item can get at most 8260 us;
(#define I40E_QUEUE_ITR_INTERVAL_MAX     8160, i40e_ethdev.h)

So maybe according to your setup and the traffic load, you may want to benchmark optimizing this value in the range 1-8160.

Regards,
Rami Rosen


-----Original Message-----
From: users [mailto:users-bounces@dpdk.org] On Behalf Of Dorsett, Michal
Sent: Saturday, August 19, 2017 12:21
To: users@dpdk.org
Subject: [dpdk-users] RTE_LIBRTE_I40E_ITR_INTERVAL

Hi,

We are using DPDK 16.07.

In the documentation for the libpmd_i40e I read the following explanation re. RTE_LIBRTE_I40E_ITR_INTERVAL:

Due to the hardware design, the interrupt signal inside NIC is needed for per packet descriptor write-back. The minimum interval of interrupts could be set at compile time by ``CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL`` in configuration files.
Though there is a default configuration, the interval could be tuned by the users with that configuration item depends on what the user cares about more, performance or per packet latency.

However, I don't quite understand whether a larger interval should be set for performance, or a lower (I am interested in performance).

Thanks,

Michal Dorsett
Developer, Strategic IP Group
Desk: +972 962 4350
Mobile: +972 50 771 6689
Verint Cyber Intelligence
www.verint.com<http://www.verint.com/>



This electronic message may contain proprietary and confidential information of Verint Systems Inc., its affiliates and/or subsidiaries. The information is intended to be for the use of the individual(s) or entity(ies) named above. If you are not the intended recipient (or authorized to receive this e-mail for the intended recipient), you may not use, copy, disclose or distribute to anyone this message or any information contained in this message. If you have received this electronic message in error, please notify us by replying to this e-mail.

      reply	other threads:[~2017-08-20 20:41 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-19  9:21 Dorsett, Michal
2017-08-20 20:41 ` Rosen, Rami [this message]

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=9B0331B6EBBD0E4684FBFAEDA55776F93DAC8C05@HASMSX110.ger.corp.intel.com \
    --to=rami.rosen@intel.com \
    --cc=Michal.Dorsett@verint.com \
    --cc=users@dpdk.org \
    /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).