Messages in this thread | | | Subject | Re: [RFC PATCH 4/5] sched/events: Introduce sched_entity load tracking trace event | From | Dietmar Eggemann <> | Date | Tue, 28 Mar 2017 16:03:25 +0200 |
| |
On 03/28/2017 10:05 AM, Peter Zijlstra wrote: > On Tue, Mar 28, 2017 at 07:35:40AM +0100, Dietmar Eggemann wrote: >> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c >> index 04d4f81b96ae..d1dcb19f5b55 100644 >> --- a/kernel/sched/fair.c >> +++ b/kernel/sched/fair.c >> @@ -2940,6 +2940,8 @@ __update_load_avg(u64 now, int cpu, struct sched_avg *sa, >> >> if (cfs_rq) >> trace_sched_load_cfs_rq(cfs_rq); >> + else >> + trace_sched_load_se(container_of(sa, struct sched_entity, avg)); >> >> return decayed; >> } >> @@ -3162,6 +3164,7 @@ static inline int propagate_entity_load_avg(struct sched_entity *se) >> update_tg_cfs_load(cfs_rq, se); >> >> trace_sched_load_cfs_rq(cfs_rq); >> + trace_sched_load_se(se); >> >> return 1; >> } > > Having back-to-back tracepoints is disgusting.
Yeah, but avoiding putting them like this is hard since the calls to update_tg_cfs_util() and update_tg_cfs_load() inside propagate_entity_load_avg() refresh util for the cfs_rq and the se respectively load (and runnable_load).
| |