On 12/10/15 17:24, Steve Muckle wrote:
On 10/12/2015 06:55 AM, Vincent Guittot wrote:
For the RT story, are you thinking to use rq->rt_avg in some way?
Yes that was my goal but the deadline is also accounted in rq->rt_avg which is then used in scale_rt_capacity. I was planning to remove the deadline class from rq->rt_avg and to use the per cpu deadline bandwidth in scale_rt_capacity instead
If the deadline contribution to rq->rt_avg is left in place, can RT and deadline both be accounted for via that one mechanism for the purposes of sched-dvfs?
I'd keep them separate, as the DEADLINE part is much more accurate than RT (and CFS). IMHO, using rt_avg for driving sched-dvfs is still trying to make up for the fact that RT lacks a more accurate PELT; so we need to try to use this other running avg thing, at least in the short run.
I'm not sure how the accuracy/behavior of the deadline accounting to rq->rt_avg differs from the forthcoming patchset Juri mentioned, but if it's not as good, perhaps the mechanisms could be combined so that rt_avg (and by extension the per-CPU capacity adjustments in CFS) benefit as well.
The fact with DEADLINE is that it actually doesn't track anything, it just enforce a max utilization, and this is what can be used to ask for a minimum capacity. So, I fear there is little space for combining the two things, but splitting them, as Vincent is proposing, seems to make sense to me.
Best,
- Juri