Thread (12 messages) flat view 12 messages, 6 authors, 2013-01-04

Re: [PATCH net-next] softirq: reduce latencies

From: Eric Dumazet <hidden>
Date: 2013-01-03 22:40:26
Also in: lkml

On Thu, 2013-01-03 at 22:08 +0000, Ben Hutchings wrote:
On Thu, 2013-01-03 at 04:28 -0800, Eric Dumazet wrote:
quoted
From: Eric Dumazet <edumazet@google.com>

In various network workloads, __do_softirq() latencies can be up
to 20 ms if HZ=1000, and 200 ms if HZ=100.

This is because we iterate 10 times in the softirq dispatcher,
and some actions can consume a lot of cycles.

This patch changes the fallback to ksoftirqd condition to :

- A time limit of 2 ms.
- need_resched() being set on current task
[...]
quoted
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
[...]
quoted
-#define MAX_SOFTIRQ_RESTART 10
+#define MAX_SOFTIRQ_TIME  min(1, (2*HZ/1000))
[...]

Really?  Never iterate if HZ < 500?
good catch, it should be max()
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help