Re: [PATCH v3 1/2] sched/fair: Introduce short duration task check

From: Chen Yu
Date: Mon Dec 12 2022 - 09:33:53 EST


On 2022-12-12 at 19:22:48 +0800, Yicong Yang wrote:
> On 2022/12/7 22:24, Chen Yu wrote:
> > Hi Josh,
> > On 2022-12-06 at 18:23:47 -0800, Josh Don wrote:
> >>> We don't want to add more dedicated knobs. So using
> >>> sysctl_sched_min_granularity as you are doing in this patch looks ok
> >>
> >> If not a knob, then maybe at least a smaller hardcoded value? Several
> >> milliseconds seems like too long for this optimization; the
> >> opportunity cost of not doing the idle search likely doesn't make
> >> sense if the waker is going to be active for several additional
> >> milliseconds. I would have guessed something on the order of 100us.
> >>
> >> Chen, what is the run duration of tasks in your ping pong example?
> > OK, I'll measure the duration of all the tests and summarize the data later.
> >
>
> If we decide to use sysctl_sched_min_granularity as the threshold of a short
> task, can we also export p->se.dur_avg (somewhere like /proc/[pid]/sched)?
> It may be helpful to choose a proper value for sysctl_sched_min_granularity.
This looks reasonable, I can add one in next version.
BTW, I've changed the threshold to (sysctl_sched_min_granularity / 8) in my next
version, as this is the value that fit my previous test case and also not to break
the case Josh mentioned. Also I've changed the place where dur_avg is updated from
put_prev_task() to dequeue_task(), which could fix an issue in v3. Will send v4
out after the test finished.

thanks,
Chenyu
>
> Thanks.