Commit 3ba9f93
Peter Zijlstra
sched,perf,kvm: Fix preemption condition
When ran from the sched-out path (preempt_notifier or perf_event),
p->state is irrelevant to determine preemption. You can get preempted
with !task_is_running() just fine.
The right indicator for preemption is if the task is still on the
runqueue in the sched-out path.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20210611082838.285099381@infradead.org1 parent b03fbd4 commit 3ba9f93
2 files changed
Lines changed: 4 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8682 | 8682 | | |
8683 | 8683 | | |
8684 | 8684 | | |
8685 | | - | |
| 8685 | + | |
8686 | 8686 | | |
8687 | 8687 | | |
| 8688 | + | |
8688 | 8689 | | |
8689 | | - | |
8690 | | - | |
8691 | | - | |
| 8690 | + | |
8692 | 8691 | | |
8693 | 8692 | | |
8694 | 8693 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5025 | 5025 | | |
5026 | 5026 | | |
5027 | 5027 | | |
5028 | | - | |
| 5028 | + | |
5029 | 5029 | | |
5030 | 5030 | | |
5031 | 5031 | | |
| |||
0 commit comments