diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sched.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index deff2d62ac05..a6105d33fc18 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -135,7 +135,6 @@ struct prio_array { */ struct runqueue { spinlock_t lock; - spinlock_t frozen; unsigned long nr_running, nr_switches, expired_timestamp; signed long nr_uninterruptible; task_t *curr, *idle; @@ -403,7 +402,7 @@ void sched_exit(task_t * p) #if CONFIG_SMP || CONFIG_PREEMPT asmlinkage void schedule_tail(void) { - spin_unlock_irq(&this_rq()->frozen); + spin_unlock_irq(&this_rq()->lock); } #endif @@ -828,9 +827,6 @@ switch_tasks: if (likely(prev != next)) { rq->nr_switches++; rq->curr = next; - spin_lock(&rq->frozen); - spin_unlock(&rq->lock); - context_switch(prev, next); /* @@ -840,10 +836,8 @@ switch_tasks: */ mb(); rq = this_rq(); - spin_unlock_irq(&rq->frozen); - } else { - spin_unlock_irq(&rq->lock); } + spin_unlock_irq(&rq->lock); reacquire_kernel_lock(current); preempt_enable_no_resched(); @@ -1599,7 +1593,6 @@ void __init sched_init(void) rq->active = rq->arrays; rq->expired = rq->arrays + 1; spin_lock_init(&rq->lock); - spin_lock_init(&rq->frozen); INIT_LIST_HEAD(&rq->migration_queue); for (j = 0; j < 2; j++) { |
