lkml.org 
[lkml]   [2017]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC PATCH 4/5] sched/events: Introduce sched_entity load tracking trace event
From
Date
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).

\
 
 \ /
  Last update: 2017-03-28 16:06    [W:1.046 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site