Messages in this thread | | | Date | Mon, 12 Dec 2022 22:33:05 +0800 | From | Chen Yu <> | Subject | Re: [PATCH v3 1/2] sched/fair: Introduce short duration task check |
| |
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.
| |