All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] softirq: Avoid stack switch from ksoftirqd
@ 2011-02-02 16:10 Thomas Gleixner
  2011-02-02 16:24 ` Peter Zijlstra
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Thomas Gleixner @ 2011-02-02 16:10 UTC (permalink / raw)
  To: LKML
  Cc: Peter Zijlstra, Ingo Molnar, Benjamin Herrenschmidt,
	Heiko Carstens, David Miller, Paul Mundt

ksoftirqd() calls do_softirq() which switches stacks on several
architectures. That makes no sense at all. ksoftirqd's stack is
sufficient.

Call __do_softirq() directly.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 kernel/softirq.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Index: linux-2.6-tip/kernel/softirq.c
===================================================================
--- linux-2.6-tip.orig/kernel/softirq.c
+++ linux-2.6-tip/kernel/softirq.c
@@ -738,7 +738,10 @@ static int run_ksoftirqd(void * __bind_c
 			   don't process */
 			if (cpu_is_offline((long)__bind_cpu))
 				goto wait_to_die;
-			do_softirq();
+			local_irq_disable();
+			if (local_softirq_pending())
+				__do_softirq();
+			local_irq_enable();
 			preempt_enable_no_resched();
 			cond_resched();
 			preempt_disable();

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-02-08 18:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-02 16:10 [PATCH] softirq: Avoid stack switch from ksoftirqd Thomas Gleixner
2011-02-02 16:24 ` Peter Zijlstra
2011-02-02 21:51 ` David Miller
2011-02-02 23:32 ` Frank Rowand
2011-02-08 18:39 ` [tip:irq/core] " tip-bot for Thomas Gleixner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.