mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-10 07:50:04 +00:00
Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Reassign prev and switch_count when reacquire_kernel_lock() fail sched: Fix vmark regression on big machines
This commit is contained in:
commit
341031caec
@ -99,7 +99,7 @@ int arch_update_cpu_topology(void);
|
|||||||
| 1*SD_WAKE_AFFINE \
|
| 1*SD_WAKE_AFFINE \
|
||||||
| 1*SD_SHARE_CPUPOWER \
|
| 1*SD_SHARE_CPUPOWER \
|
||||||
| 0*SD_POWERSAVINGS_BALANCE \
|
| 0*SD_POWERSAVINGS_BALANCE \
|
||||||
| 0*SD_SHARE_PKG_RESOURCES \
|
| 1*SD_SHARE_PKG_RESOURCES \
|
||||||
| 0*SD_SERIALIZE \
|
| 0*SD_SERIALIZE \
|
||||||
| 0*SD_PREFER_SIBLING \
|
| 0*SD_PREFER_SIBLING \
|
||||||
, \
|
, \
|
||||||
|
@ -5530,8 +5530,11 @@ need_resched_nonpreemptible:
|
|||||||
|
|
||||||
post_schedule(rq);
|
post_schedule(rq);
|
||||||
|
|
||||||
if (unlikely(reacquire_kernel_lock(current) < 0))
|
if (unlikely(reacquire_kernel_lock(current) < 0)) {
|
||||||
|
prev = rq->curr;
|
||||||
|
switch_count = &prev->nivcsw;
|
||||||
goto need_resched_nonpreemptible;
|
goto need_resched_nonpreemptible;
|
||||||
|
}
|
||||||
|
|
||||||
preempt_enable_no_resched();
|
preempt_enable_no_resched();
|
||||||
if (need_resched())
|
if (need_resched())
|
||||||
|
@ -1508,7 +1508,7 @@ static int select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flag
|
|||||||
* If there's an idle sibling in this domain, make that
|
* If there's an idle sibling in this domain, make that
|
||||||
* the wake_affine target instead of the current cpu.
|
* the wake_affine target instead of the current cpu.
|
||||||
*/
|
*/
|
||||||
if (tmp->flags & SD_PREFER_SIBLING)
|
if (tmp->flags & SD_SHARE_PKG_RESOURCES)
|
||||||
target = select_idle_sibling(p, tmp, target);
|
target = select_idle_sibling(p, tmp, target);
|
||||||
|
|
||||||
if (target >= 0) {
|
if (target >= 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user