Messages in this thread | | | Date | Fri, 29 Mar 2024 08:46:53 +0530 | Subject | Re: [RFC PATCH 0/1] sched/eevdf: Curb wakeup preemption further | From | K Prateek Nayak <> |
| |
On 3/28/2024 3:56 PM, Madadi Vineeth Reddy wrote: > Hi Prateek, > > On 25/03/24 11:32, K Prateek Nayak wrote: >> Wakeup preemption problem >> ========================= >> >> With the curr entity's eligibility check, a wakeup preemption is very >> likely when an entity with positive lag joins the runqueue pushing the >> avg_vruntime of the runqueue backwards, making the vruntime of the >> current entity ineligible. This leads to aggressive wakeup preemption >> which was previously guarded by wakeup_granularity_ns in legacy CFS. > > Is base_slice_ns not guarding it in EEVDF?
"base_slice_ns" guards it in some sense since lag clamping is based on the entity's slice but the problem is the eligibility criteria which is purely based on rq's avg_vruntime and entity's vruntime. Previously "wakeup_granularity_ns" would have added a buffer before preempting the current task soon into its run but this is no longer the case with EEVDF especially if new entities join the runqueue with positive lag pulling the avg_vruntime backwards.
Please do correct me if I've missed something.
> >> Below figure depicts one such aggressive preemption scenario with EEVDF: > > Thanks and Regards > Madadi Vineeth Reddy
-- Thanks and Regards, Prateek
| |