diff options
author | Arnd Bergmann <arnd@arndb.de> | 2011-01-25 16:52:22 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2011-03-05 04:56:00 -0500 |
commit | 4ba8216cd90560bc402f52076f64d8546e8aefcb (patch) | |
tree | f64c272085c833b36755b5552a726f21eed3d142 /kernel | |
parent | ae7eb8979ccfa5e9e888101b9c940f20bd0f4115 (diff) |
BKL: That's all, folks
This removes the implementation of the big kernel lock,
at last. A lot of people have worked on this in the
past, I so the credit for this patch should be with
everyone who participated in the hunt.
The names on the Cc list are the people that were the
most active in this, according to the recorded git
history, in alphabetical order.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Alan Cox <alan@linux.intel.com>
Cc: Alessio Igor Bogani <abogani@texware.it>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Andrew Hendry <andrew.hendry@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Hans Verkuil <hverkuil@xs4all.nl>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Jan Blunck <jblunck@infradead.org>
Cc: John Kacur <jkacur@redhat.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Oliver Neukum <oliver@neukum.org>
Cc: Paul Menage <menage@google.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 18d38e4ec7ba..827c170c6017 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -32,7 +32,6 @@ | |||
32 | #include <linux/init.h> | 32 | #include <linux/init.h> |
33 | #include <linux/uaccess.h> | 33 | #include <linux/uaccess.h> |
34 | #include <linux/highmem.h> | 34 | #include <linux/highmem.h> |
35 | #include <linux/smp_lock.h> | ||
36 | #include <asm/mmu_context.h> | 35 | #include <asm/mmu_context.h> |
37 | #include <linux/interrupt.h> | 36 | #include <linux/interrupt.h> |
38 | #include <linux/capability.h> | 37 | #include <linux/capability.h> |
@@ -3945,9 +3944,6 @@ need_resched: | |||
3945 | rcu_note_context_switch(cpu); | 3944 | rcu_note_context_switch(cpu); |
3946 | prev = rq->curr; | 3945 | prev = rq->curr; |
3947 | 3946 | ||
3948 | release_kernel_lock(prev); | ||
3949 | need_resched_nonpreemptible: | ||
3950 | |||
3951 | schedule_debug(prev); | 3947 | schedule_debug(prev); |
3952 | 3948 | ||
3953 | if (sched_feat(HRTICK)) | 3949 | if (sched_feat(HRTICK)) |
@@ -4010,9 +4006,6 @@ need_resched_nonpreemptible: | |||
4010 | 4006 | ||
4011 | post_schedule(rq); | 4007 | post_schedule(rq); |
4012 | 4008 | ||
4013 | if (unlikely(reacquire_kernel_lock(prev))) | ||
4014 | goto need_resched_nonpreemptible; | ||
4015 | |||
4016 | preempt_enable_no_resched(); | 4009 | preempt_enable_no_resched(); |
4017 | if (need_resched()) | 4010 | if (need_resched()) |
4018 | goto need_resched; | 4011 | goto need_resched; |
@@ -8074,7 +8067,7 @@ static inline int preempt_count_equals(int preempt_offset) | |||
8074 | { | 8067 | { |
8075 | int nested = (preempt_count() & ~PREEMPT_ACTIVE) + rcu_preempt_depth(); | 8068 | int nested = (preempt_count() & ~PREEMPT_ACTIVE) + rcu_preempt_depth(); |
8076 | 8069 | ||
8077 | return (nested == PREEMPT_INATOMIC_BASE + preempt_offset); | 8070 | return (nested == preempt_offset); |
8078 | } | 8071 | } |
8079 | 8072 | ||
8080 | void __might_sleep(const char *file, int line, int preempt_offset) | 8073 | void __might_sleep(const char *file, int line, int preempt_offset) |