Messages in this thread | | | From | Josh Don <> | Date | Tue, 11 Jan 2022 15:52:02 -0800 | Subject | Re: [PATCH v2 1/3] sched/core: Accounting forceidle time for all tasks except idle task |
| |
On Tue, Jan 11, 2022 at 1:56 AM Cruz Zhao <CruzZhao@linux.alibaba.com> wrote: > > There are two types of forced idle time: forced idle time from cookie'd > task and forced idle time form uncookie'd task. The forced idle time from > uncookie'd task is actually caused by the cookie'd task in runqueue > indirectly, and it's more accurate to measure the capacity loss with the > sum of both. > > Assuming cpu x and cpu y are a pair of SMT siblings, consider the > following scenarios: > 1.There's a cookie'd task running on cpu x, and there're 4 uncookie'd > tasks running on cpu y. For cpu x, there will be 80% forced idle time > (from uncookie'd task); for cpu y, there will be 20% forced idle time > (from cookie'd task). > 2.There's a uncookie'd task running on cpu x, and there're 4 cookie'd > tasks running on cpu y. For cpu x, there will be 80% forced idle time > (from cookie'd task); for cpu y, there will be 20% forced idle time > (from uncookie'd task). > > The scenario1 can recurrent by stress-ng(scenario2 can recurrent similary): > (cookie'd)taskset -c x stress-ng -c 1 -l 100 > (uncookie'd)taskset -c y stress-ng -c 4 -l 100 > > In the above two scenarios, the total capacity loss is 1 cpu, but in > scenario1, the cookie'd forced idle time tells us 20% cpu capacity loss, in > scenario2, the cookie'd forced idle time tells us 80% cpu capacity loss, > which are not accurate. It'll be more accurate to measure with cookie'd > forced idle time and uncookie'd forced idle time. > > Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com> > ---
Thanks,
Reviewed-by: Josh Don <joshdon@google.com>
| |