Re: [PATCH v3 1/3] sched: Don't account execution time for task group

From: Peter Zijlstra
Date: Mon Nov 06 2023 - 07:49:34 EST


On Tue, Oct 31, 2023 at 08:59:26PM +0800, Yajun Deng wrote:
> The rt entity can be a task group. We will account execution time for
> each task. For consistency, we don't need to account execution time for
> task group.
>
> Pass a parameter to update_current_exec_runtime, let the caller decide
> whether account execution time.
>

> diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
> index 6aaf0a3d6081..79cf80d73822 100644
> --- a/kernel/sched/rt.c
> +++ b/kernel/sched/rt.c
> @@ -1018,7 +1018,8 @@ static void update_curr_rt(struct rq *rq)
>
> trace_sched_stat_runtime(curr, delta_exec, 0);
>
> - update_current_exec_runtime(curr, now, delta_exec);
> + update_current_exec_runtime(curr, now, delta_exec,
> + rt_entity_is_task(rt_se));
>
> if (!rt_bandwidth_enabled())
> return;

ok, I think I've managed to confuse myself again.

But at this point rt_se := &rq->curr->rt, which is *always* a task, no?