From 64fdf3c56f85d05aaa02b51bafe85d4438122a11 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 31 Jan 2012 13:01:27 +0100 Subject: genirq: Allow disabling of softirq processing in irq thread context The processing of softirqs in irq thread context is a performance gain for the non-rt workloads of a system, but it's counterproductive for interrupts which are explicitely related to the realtime workload. Allow such interrupts to prevent softirq processing in their thread context. Signed-off-by: Thomas Gleixner Cc: stable-rt@vger.kernel.org --- kernel/softirq.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'kernel/softirq.c') diff --git a/kernel/softirq.c b/kernel/softirq.c index 92b4ca30eda2..bef08f3cd6d6 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -425,6 +425,13 @@ void local_bh_enable_ip(unsigned long ip) } EXPORT_SYMBOL(local_bh_enable_ip); +void _local_bh_enable(void) +{ + current->softirq_nestcnt--; + migrate_enable(); +} +EXPORT_SYMBOL(_local_bh_enable); + /* For tracing */ int notrace __in_softirq(void) { -- cgit v1.2.3