Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1706584
| From | Vincent Guittot <vincent.guittot@linaro.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [RESEND PATCH v2 1/2] sched/rt: add utilization tracking |
| Date | 2017-08-08 16:00 +0200 |
| Message-ID | <ucdd7-Hf-1@gated-at.bofh.it> (permalink) |
| References | <uaL9f-7DN-11@gated-at.bofh.it> <uaL9g-7DN-21@gated-at.bofh.it> <ubTo6-2M8-17@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 7 August 2017 at 18:44, Peter Zijlstra <peterz@infradead.org> wrote: > On Fri, Aug 04, 2017 at 03:40:21PM +0200, Vincent Guittot wrote: > >> There were several comments on v1: >> - As raised by Peter for v1, if IRQ time is taken into account in >> rt_avg, it will not be accounted in rq->clock_task. This means that cfs >> utilization is not affected by some extra contributions or decays >> because of IRQ. > > Right. > >> - Regading the sync of rt and cfs utilization, both cfs and rt use the same >> rq->clock_task. Then, we have the same issue than cfs regarding blocked value. >> The utilization of idle cfs/rt rqs are not updated regularly but only when a >> load_balance is triggered (more precisely a call to update_blocked_average). >> I'd like to fix this issue for both cfs and rt with a separate patch that >> will ensure that utilization (and load) are updated regularly even for >> idle CPUs > > Yeah, that needs help. > >> - One last open question is the location of rt utilization function in fair.c >> file. PELT related funtions should probably move in a dedicated pelt.c file. >> This would also help to address one comment about having a place to update >> metrics of NOHZ idle CPUs. Thought ? > > Probably, but I have a bunch of patches lined up changing that code, so > lets not do that now. ok. I can rebase and move the code once your patches will be there > > In any case, would something like the attached patches make sense? It > completely replaces rt_avg with separate IRQ,RT and DL tracking. That would be nice if we can replace rt_avg by something that has the same dynamic as PELT. The DL patch looks fine but can't we rely on deadline running bandwidth to get the figures instead ? I don't think that IRQ tracking patch is working. update_irq_load_avg(rq->clock, cpu_of(rq), rq, 1); is called in update_rq_clock_task() which is never called in irq context. In order to use PELT for tracking irq and paravirt, we should call update_irq_load_avg() for every context switch between irq/paravirt and task which will probably be too heavy. Nevertheless, we can Because PELT is cpu invariant, the used value must now be subtracted to cpu_capacity_orig of the local cpu in scale_rt_capacity, > >
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[RESEND PATCH v2 0/2] sched/rt: track rt rq utilization Vincent Guittot <vincent.guittot@linaro.org> - 2017-08-04 15:50 +0200
[RESEND PATCH v2 2/2] cpufreq/schedutil: add rt utilization tracking Vincent Guittot <vincent.guittot@linaro.org> - 2017-08-04 15:50 +0200
[RESEND PATCH v2 1/2] sched/rt: add utilization tracking Vincent Guittot <vincent.guittot@linaro.org> - 2017-08-04 15:50 +0200
Re: [RESEND PATCH v2 1/2] sched/rt: add utilization tracking Peter Zijlstra <peterz@infradead.org> - 2017-08-07 18:50 +0200
Re: [RESEND PATCH v2 1/2] sched/rt: add utilization tracking Vincent Guittot <vincent.guittot@linaro.org> - 2017-08-08 16:00 +0200
Re: [RESEND PATCH v2 1/2] sched/rt: add utilization tracking Peter Zijlstra <peterz@infradead.org> - 2017-08-08 16:10 +0200
csiph-web