|
@@ -2331,10 +2331,6 @@ asmlinkage __visible void schedule_tail(struct task_struct *prev)
|
|
*/
|
|
*/
|
|
post_schedule(rq);
|
|
post_schedule(rq);
|
|
|
|
|
|
-#ifdef __ARCH_WANT_UNLOCKED_CTXSW
|
|
|
|
- /* In this case, finish_task_switch does not reenable preemption */
|
|
|
|
- preempt_enable();
|
|
|
|
-#endif
|
|
|
|
if (current->set_child_tid)
|
|
if (current->set_child_tid)
|
|
put_user(task_pid_vnr(current), current->set_child_tid);
|
|
put_user(task_pid_vnr(current), current->set_child_tid);
|
|
}
|
|
}
|
|
@@ -2377,9 +2373,7 @@ context_switch(struct rq *rq, struct task_struct *prev,
|
|
* of the scheduler it's an obvious special-case), so we
|
|
* of the scheduler it's an obvious special-case), so we
|
|
* do an early lockdep release here:
|
|
* do an early lockdep release here:
|
|
*/
|
|
*/
|
|
-#ifndef __ARCH_WANT_UNLOCKED_CTXSW
|
|
|
|
spin_release(&rq->lock.dep_map, 1, _THIS_IP_);
|
|
spin_release(&rq->lock.dep_map, 1, _THIS_IP_);
|
|
-#endif
|
|
|
|
|
|
|
|
context_tracking_task_switch(prev, next);
|
|
context_tracking_task_switch(prev, next);
|
|
/* Here we just switch the register state and the stack. */
|
|
/* Here we just switch the register state and the stack. */
|