diff options
| author | Zqiang <qiang.zhang@linux.dev> | 2025-11-13 14:43:55 +0300 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-12-12 20:40:22 +0300 |
| commit | 600b4379b9a7ba41340d652211fb29699da4c629 (patch) | |
| tree | ef0e65fd1c3aeb83693fd411f030b5e78f23d911 /scripts/gdb/linux/xarray.py | |
| parent | 78ccf51ac43cb01e8fe032d8d0e73cde2d2b90a8 (diff) | |
| download | linux-600b4379b9a7ba41340d652211fb29699da4c629.tar.xz | |
sched_ext: Fix possible deadlock in the deferred_irq_workfn()
[ Upstream commit a257e974210320ede524f340ffe16bf4bf0dda1e ]
For PREEMPT_RT=y kernels, the deferred_irq_workfn() is executed in
the per-cpu irq_work/* task context and not disable-irq, if the rq
returned by container_of() is current CPU's rq, the following scenarios
may occur:
lock(&rq->__lock);
<Interrupt>
lock(&rq->__lock);
This commit use IRQ_WORK_INIT_HARD() to replace init_irq_work() to
initialize rq->scx.deferred_irq_work, make the deferred_irq_workfn()
is always invoked in hard-irq context.
Signed-off-by: Zqiang <qiang.zhang@linux.dev>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'scripts/gdb/linux/xarray.py')
0 files changed, 0 insertions, 0 deletions
