mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
rcu: Move PREEMPT_RCU preemption to switch_to() invocation
Currently, PREEMPT_RCU readers are enqueued upon entry to the scheduler. This is inefficient because enqueuing is required only if there is a context switch, and entry to the scheduler does not guarantee a context switch. The commit therefore moves the enqueuing to immediately precede the call to switch_to() from the scheduler. Signed-off-by: Paul E. McKenney <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Tested-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
66f75a5d02
commit
616c310e83
8 changed files with 16 additions and 19 deletions
|
|
@ -2083,6 +2083,7 @@ context_switch(struct rq *rq, struct task_struct *prev,
|
|||
#endif
|
||||
|
||||
/* Here we just switch the register state and the stack. */
|
||||
rcu_switch_from(prev);
|
||||
switch_to(prev, next, prev);
|
||||
|
||||
barrier();
|
||||
|
|
|
|||
Loading…
Reference in a new issue