diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-11-03 08:18:28 -1000 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-11-03 08:18:28 -1000 |
commit | 33e83ffe4c57132c73b7d3fb7919006c5296c496 (patch) | |
tree | 33394a3b6474ac242d14814a4570d4993a0be9d0 /tools/perf/scripts/python/export-to-sqlite.py | |
parent | 68f05b251b7156b10a6f6547f7f8672ffb94100f (diff) | |
parent | 69d5e722be949a1e2409c3f2865ba6020c279db6 (diff) | |
download | linux-33e83ffe4c57132c73b7d3fb7919006c5296c496.tar.gz linux-33e83ffe4c57132c73b7d3fb7919006c5296c496.tar.bz2 linux-33e83ffe4c57132c73b7d3fb7919006c5296c496.zip |
Merge tag 'sched-urgent-2024-11-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fixes from Thomas Gleixner:
- Plug a race between pick_next_task_fair() and try_to_wake_up() where
both try to write to the same task, even though both paths hold a
runqueue lock, but obviously from different runqueues.
The problem is that the store to task::on_rq in __block_task() is
visible to try_to_wake_up() which assumes that the task is not
queued. Both sides then operate on the same task.
Cure it by rearranging __block_task() so the the store to task::on_rq
is the last operation on the task.
- Prevent a potential NULL pointer dereference in task_numa_work()
task_numa_work() iterates the VMAs of a process. A concurrent unmap
of the address space can result in a NULL pointer return from
vma_next() which is unchecked.
Add the missing NULL pointer check to prevent this.
- Operate on the correct scheduler policy in task_should_scx()
task_should_scx() returns true when a task should be handled by sched
EXT. It checks the tasks scheduling policy.
This fails when the check is done before a policy has been set.
Cure it by handing the policy into task_should_scx() so it operates
on the requested value.
- Add the missing handling of sched EXT in the delayed dequeue
mechanism. This was simply forgotten.
* tag 'sched-urgent-2024-11-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched/ext: Fix scx vs sched_delayed
sched: Pass correct scheduling policy to __setscheduler_class
sched/numa: Fix the potential null pointer dereference in task_numa_work()
sched: Fix pick_next_task_fair() vs try_to_wake_up() race
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions