On Thu, 03 Sep 2026 13:10:36 +0530, Athira Rajeev wrote:
commit 79104becf42b ("sched/fair: Forfeit vruntime on yield") changed
yield_task_fair() to only bump the deadline when the entity is eligible
(vruntime <= avg_vruntime). When the entity is ineligible the yield
becomes a complete no-op from scheduling perspective.
lost_exception_test calls sched_yield() 100,000 times per iteration to
race the EBB exception delivery with a context switch to the eat_cpu
companion process. After enough iterations the test process's vruntime
races ahead of avg_vruntime (each eligible yield bumps vruntime to
deadline, then advances deadline by one slice). Once ineligible,
yield_task_fair() does nothing: so the scheduler won't pick the
eat_cpu child. No context switch occurs, the PMAO race is never
triggered, and ebb_count stays at 0 forever causing the test to
hang until timeout.
[...]
Applied to powerpc/fixes.
[1/1] selftests/powerpc/pmu/ebb: fix lost_exception_test hang with sched yield change
https://git.kernel.org/powerpc/c/ef17515a8ef88c246c342a6c532aa10f9ecdcfaf
cheers