Re: [PATCH] sched/core: Call wakeup_preempt() for queued tasks during class change

From: Paul E. McKenney

Date: Tue Oct 13 2026 - 16:36:27 EST


On Tue, Oct 13, 2026 at 12:55:12PM -0700, Paul E. McKenney wrote:
> On Tue, Oct 13, 2026 at 10:57:17AM -0700, Paul E. McKenney wrote:
> > On Tue, Oct 13, 2026 at 03:24:55PM +0000, K Prateek Nayak wrote:
> > > Paul reported recent RCU changes exposed a lost resched where CPU idles
> > > with a rcutorture thread waiting while being completely runnable.
> > >
> > > Dumping the rq state at the time of idling with runnable tasks showed
> > > the following:
> > >
> > > rq->next_class = &fair_sched_class
> > > rq->nr_running = 1
> > > rq->cfs.h_nr_queued = 0
> > > rq->rt.rt_nr_running = 1
> > >
> > > Although the waiting task was an RT task, "rq->next_class" did not point
> > > to rt_sched_class and was stuck at the lower priority fair_sched_class.
> >
> > Thank you all very much! I have started a short test. If all goes well
> > with the short tests, I will run an overnight test.
> >
> > I will of course let you know how the individual tests go.
>
> 20 minutes of 39*TREE03 (13 hours) on x86 passed! 2 hours of 9*TREE03 (18
> hours) on arm64 in progress. Starting five hours of 200*TREE03 on x86.
> If that works, 12 hours of same.

And the 2 hours of 9*TREE03 on arm64 passed! Started a 15-hour run.

Thanx, Paul