Messages in this thread | | | From | Josh Don <> | Date | Mon, 14 Mar 2022 19:21:40 -0700 | Subject | Re: [External] Re: Subject: [PATCH] sched/fair: prioritize normal task over sched_idle task with vruntime offset |
| |
On Mon, Mar 14, 2022 at 7:05 PM chenying <chenying.kernel@bytedance.com> wrote: > > 在 2022/3/15 8:30, Josh Don 写道: > > On Sun, Mar 13, 2022 at 3:07 AM chenying <chenying.kernel@bytedance.com> wrote: > >> > >> If I set the sched_idle_vruntime_offset to a relatively small value > >> (e.g. 10 minutes), can this issues be avoided? > > > > That's still long enough to cause lockups. > > > > Is the issue that you have a large number of sched_idle entities, and > > the occasional latency sensitive thing that wakes up for a short > > duration? Have you considered approaching this from the other > > direction (ie. if we have a latency sensitive thing wake onto a cpu > > running only sched idle stuff, we could change entity placement to > > position the latency sensitive thing further left on the timeline, > > akin to !GENTLE_FAIR_SLEEPERS). > > I think this may not guarantee that latency sensitive tasks are always > to the left of idle tasks. And it may get complicated if a > latency-sensitive task is woken up onto a cpu which there are already > multiple latency-sensitive tasks and sched_idle tasks.
If you're waking onto a cpu with lots of latency-sensitive tasks already, you're already outside the bounds of being able to guarantee the latency tails you're after (given that the default idle_min_granularity and idle weight aren't giving you the performance at the tails that you want right now). It would be helpful to get a clearer statement as to the problem you're trying to solve.
Perhaps Vincent's recent patch series adding latency support to CFS ("Add latency_nice priority") would be of interest?
| |