[PATCH 0/2] sched/psi: Preserve RT poll notifications
From: Hui Su
Date: Mon Oct 19 2026 - 06:49:29 EST
Privileged RT trigger registration can consume pressure accounting before
existing triggers evaluate it. A separate worker shutdown path can leave a
rate-limited event pending after active polling expires.
Patch 1 preserves registration-time pressure changes for existing triggers
and advances the consumed total after due evaluation.
Patch 2 derives pending notification deadlines from the trigger list instead
of storing a duplicate deadline in psi_group. It preserves pending trigger
windows, resumes active polling when watched pressure returns, and lets the
worker return to idle after the notification is delivered.
Testing:
- x86_64 KASAN/lockdep KUnit: candidate PSI 10/10 passed; baseline PSI had
1/10 pass and 9 candidate-dependent failures. Refcount tests passed 4/4
on both sides; no KASAN report.
- QEMU cgroup PSI_POLL: baseline pressure qualified but the second long event
was absent by 2500 ms; the worker log showed pending=1 and timer_pending=0.
Candidate delivered the second event after 2004.4 ms; pending cleared and
the worker returned to idle. Both runs had zero quiet-period pressure and
no unexpected third event.
Hui Su (2):
sched/psi: Preserve pressure accounting across RT trigger registration
sched/psi: Deliver pending RT poll events after polling expires
include/linux/psi_types.h | 1 +
kernel/sched/psi.c | 206 +++++++++++++++++++++++++++++---------
2 files changed, 157 insertions(+), 50 deletions(-)
base-commit: b99b7f60c5b473d374c68b53753153b4aa9e0702
--
2.55.0