[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