diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-10-07 02:03:46 +0200 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-10-07 02:03:46 +0200 |
| commit | 762122d75e50e4919ef77afc2dffdc4931c5be87 (patch) | |
| tree | c6a4e5e53e813d62b79a3bcfee8d42246234017b /kernel/workqueue.c | |
| parent | 69f80fef3153299d9c72c53d1d71eef6354b6926 (diff) | |
| parent | e6ac89b8b1c12e9104df45a14a26e2dfa96ded06 (diff) | |
| download | linux-next-762122d75e50e4919ef77afc2dffdc4931c5be87.tar.gz linux-next-762122d75e50e4919ef77afc2dffdc4931c5be87.zip | |
Merge tag 'sched_ext-for-7.3-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext
Pull sched_ext fixes from Tejun Heo:
- Taking a CPU offline could hang, or stall until the watchdog ejected
the BPF scheduler, when tasks on the dying CPU were still held by the
scheduler or sitting on a user dispatch queue. Re-enqueue them onto
the local queue when the runqueue goes offline so that the CPU pushes
them off like the other sched classes.
- The sequence number guarding against stale dispatches was per
runqueue, so a task re-enqueued on another CPU could get the same
number and a dispatch meant for its earlier instance was applied to
the new one. Use a per-task counter.
- A task dispatched to another CPU's local queue got its ops.dequeue()
only when picked to run and flagged as a core-sched pick. Call it at
insertion like for same-CPU dispatches.
* tag 'sched_ext-for-7.3-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext:
sched_ext: Generate qseq from a per-task counter
selftests/sched_ext: Add a test for ops.dequeue() on remote local DSQ moves
sched_ext: Call ops.dequeue() when a task arrives on a remote local DSQ
sched_ext: Fix CPU hotplug hang when a dying CPU's tasks sit in the BPF scheduler
Diffstat (limited to 'kernel/workqueue.c')
0 files changed, 0 insertions, 0 deletions
