diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2012-01-31 12:01:27 (GMT) |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2014-04-10 00:19:22 (GMT) |
commit | 07ffc758f648ade41f1ca85bcb7708d9c91bce53 (patch) | |
tree | d2e00381b9d6feddb351347ae7a758d4520604f2 /kernel/softirq.c | |
parent | 0c0cdb175d31104430c3d944c634edd63ea0e673 (diff) | |
download | linux-fsl-qoriq-07ffc758f648ade41f1ca85bcb7708d9c91bce53.tar.xz |
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 <tglx@linutronix.de>
Cc: stable-rt@vger.kernel.org
Diffstat (limited to 'kernel/softirq.c')
-rw-r--r-- | kernel/softirq.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c index 79d370b..37482da 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -460,6 +460,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) { |