summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-07-03 08:30:03 -0500
committerThomas Gleixner <tglx@linutronix.de>2009-07-29 23:30:37 +0200
commit0a930ce98838ed0a03530fd4960eb3423c9b55bc (patch)
tree660e743d49ecbb04a6bd08b577720b86de327f7d /lib
parent42cd561b099de734b16c92b7e29f418f0d62daad (diff)
downloadlwn-0a930ce98838ed0a03530fd4960eb3423c9b55bc.tar.gz
lwn-0a930ce98838ed0a03530fd4960eb3423c9b55bc.zip
sched: preempt-rt support
Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/kernel_lock.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/kernel_lock.c b/lib/kernel_lock.c
index 7e2ad7bd4223..54625bec6fb9 100644
--- a/lib/kernel_lock.c
+++ b/lib/kernel_lock.c
@@ -41,15 +41,15 @@ int __lockfunc __reacquire_kernel_lock(void)
struct task_struct *task = current;
int saved_lock_depth = task->lock_depth;
+ local_irq_enable();
BUG_ON(saved_lock_depth < 0);
task->lock_depth = -1;
- __preempt_enable_no_resched();
down(&kernel_sem);
- preempt_disable();
task->lock_depth = saved_lock_depth;
+ local_irq_enable();
return 0;
}