Re: [v6.12] WARNING: at kernel/sched/deadline.c:1995 enqueue_dl_entity (task blocked for more than 28262 seconds)
From: Vineeth Remanan Pillai
Date: Tue Dec 10 2024 - 21:31:40 EST
> > /*
> > - * Any fair task that runs outside of fair_server should
> > - * account against fair_server such that it can account for
> > - * this time and possibly avoid running this period.
> > + * If the fair_server is active, we need to account for the
> > + * fair_server time whether or not the task is running on
> > + * behalf of fair_server or not:
> > + * - If the task is running on behalf of fair_server, we need
> > + * to limit its time based on the assigned runtime.
> > + * - Fair task that runs outside of fair_server should account
> > + * against fair_server such that it can account for this time
> > + * and possibly avoid running this period.
> > */
> > - if (p->dl_server != &rq->fair_server)
> > + if (dl_server_active(&rq->fair_server))
> > dl_server_update(&rq->fair_server, delta_exec);
> > }
>
> That indeed also fixes it for me.
>
Thanks for the confirmation Marcel
> >>
> >> "static inline bool dl_server_active(struct sched_dl_entity *dl_se)"
> >
> > Sure. I can try that.
>
> Running with this for about 8 hours and so far so good.
> Will leave the test running for the night, just in case.
>
Thanks for the update Ilya
I also have been running the test for more than 24 hours now and did
not encounter warnings or crashes.
Juri, Peter, Shall I go ahead and send out a single patch folding the
2 fixes in this thread(dl_server_active and fix for the
dl_server_update call)?
Thanks,
Vineeth