diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sched.c | 5 | ||||
| -rw-r--r-- | kernel/sched_fair.c | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index c535cc4f6428..4508fe7048be 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
| @@ -5530,8 +5530,11 @@ need_resched_nonpreemptible: | |||
| 5530 | 5530 | ||
| 5531 | post_schedule(rq); | 5531 | post_schedule(rq); |
| 5532 | 5532 | ||
| 5533 | if (unlikely(reacquire_kernel_lock(current) < 0)) | 5533 | if (unlikely(reacquire_kernel_lock(current) < 0)) { |
| 5534 | prev = rq->curr; | ||
| 5535 | switch_count = &prev->nivcsw; | ||
| 5534 | goto need_resched_nonpreemptible; | 5536 | goto need_resched_nonpreemptible; |
| 5537 | } | ||
| 5535 | 5538 | ||
| 5536 | preempt_enable_no_resched(); | 5539 | preempt_enable_no_resched(); |
| 5537 | if (need_resched()) | 5540 | if (need_resched()) |
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 42ac3c9f66f6..8fe7ee81c552 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
| @@ -1508,7 +1508,7 @@ static int select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flag | |||
| 1508 | * If there's an idle sibling in this domain, make that | 1508 | * If there's an idle sibling in this domain, make that |
| 1509 | * the wake_affine target instead of the current cpu. | 1509 | * the wake_affine target instead of the current cpu. |
| 1510 | */ | 1510 | */ |
| 1511 | if (tmp->flags & SD_PREFER_SIBLING) | 1511 | if (tmp->flags & SD_SHARE_PKG_RESOURCES) |
| 1512 | target = select_idle_sibling(p, tmp, target); | 1512 | target = select_idle_sibling(p, tmp, target); |
| 1513 | 1513 | ||
| 1514 | if (target >= 0) { | 1514 | if (target >= 0) { |
