Messages in this thread | ![/](/images/icornerl.gif) | | Date | Tue, 7 Nov 2023 11:49:15 +0800 | From | Yajun Deng <> | Subject | Re: [PATCH v3 1/3] sched: Don't account execution time for task group |
| |
On 2023/11/6 20:49, Peter Zijlstra wrote: > 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?
I think so, but it can be safer to use rt_entity_is_task().
| ![\](/images/icornerr.gif) |