v2
2026-10-21
RT 分配器 trylock 死锁修复 · v2
PREEMPT_RT BPF task-storage 分配死锁,引入有界 spinlock 原子 owner 状态并用于 SLUB/page-alloc。
原始补丁链接
子 Patch(3)
1/3
locking/rtmutex: Support atomic PREEMPT_RT spin trylocks
[locking/rtmutex: Support atomic PREEMPT_RT spin trylocks] No-lock allocation may run with preemption disabled or while a raw lock is held. On PREEMPT_RT, allocator spinlocks are backed by rtmutexes.
2/3
mm: use atomic RT trylocks for no-lock allocation
[mm: use atomic RT trylocks for no-lock allocation] Commit 073d5f156292 (“slab: simplify kmalloc_nolock()”) allowed no-lock slab allocation from preempt-disabled sections again on PREEMPT_RT. The rema
3/3
selftests/bpf: exercise task storage from hrtimer_start
[selftests/bpf: exercise task storage from hrtimer_start] No BPF selftest creates task-local storage from a tracepoint which runs while an hrtimer base raw lock is held. On PREEMPT_RT, this can exerc