Thread (8 messages) 8 messages, 4 authors, 2017-03-30

Re: [PATCH] igb_uio: use non-threaded ISR

From: Su, David W <hidden>
Date: 2017-02-25 00:21:24

-----Original Message-----
From: Yigit, Ferruh
Sent: Friday, February 24, 2017 9:55 AM
To: Su, David W <redacted>; dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH] igb_uio: use non-threaded ISR

On 1/20/2017 11:08 PM, David Su wrote:
quoted
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.
quoted
Signed-off-by: David Su <redacted>
<...>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help