[dpdk-dev] [PATCH] igb_uio: use non-threaded ISR

Su, David W david.w.su at intel.com
Sat Feb 25 01:21:22 CET 2017


>-----Original Message-----
>From: Yigit, Ferruh
>Sent: Friday, February 24, 2017 9:55 AM
>To: Su, David W <david.w.su at intel.com>; dev at dpdk.org
>Subject: Re: [dpdk-dev] [PATCH] igb_uio: use non-threaded ISR
>
>On 1/20/2017 11:08 PM, David Su wrote:
>> This eliminates the overhead of a task switch when an interrupt arrives.
>
>Hi David,
>
>Did you test patch with l3fwd-power (or any app that uses Rx
>interrupts), is there any performance gain?
>
Hi Ferruh,

The test is a simple l2 forward app and it uses the same idle heuristic as l3fwd-power, i.e. it enables rx interrupts and goes to sleep after about 300us without receiving a packet.  A packet generator is configured to send a time stamped packet every 400us to ensure the test will go through the sleep-wakeup cycle with every inbound packet.  The packet generator measures packet round trip latency with the timestamps.

The average latency is more than 100us on a 2.30GHz Xeon E5-2699 v3 platform with Intel X540-AT2 NIC.  The long latency is mostly because the DPDK ixgbe driver enables interrupt throttling in the NIC and sets the minimum inter-interrupt interval to about 500us.  With this patch alone, there is no significant change to the average latency, the maximum latency is reduced from 418us to 392us.  If interrupt throttling is not enabled (http://dpdk.org/dev/patchwork/patch/19856/), the average latency is reduced from 17us to 14us and the maximum latency from 30us to 21us.

>>
>> Signed-off-by: David Su <david.w.su at intel.com>
><...>


More information about the dev mailing list