On Fri, Dec 22, 2017 at 12:07:37PM +0000, Patrick Bellasi wrote: > > I was thinking that since dl is a 'global' scheduler the reservation > > would be too and thus the freq just needs a single CPU to be observed; > > AFAIU global is only the admission control (which is something worth a > thread by itself...) while the dl_se->dl_bw are aggregated into the > dl_rq->running_bw, which ultimately represents the DL bandwidth > required for just a CPU.
Oh urgh yes, forgot that.. then the dl freq stuff isn't strictly correct I think. But yes, that's another thread. > > but I suppose there's nothing stopping anybody from splitting a clock > > domain down the middle scheduling wise. So yes, good point. > > That makes sense... moreover, using the global utilization, we would > end up asking for capacities which cannot be provided by a single CPU. Yes, but that _should_ not be a problem if you clock them all high enough. But this gets to be complicated real fast I think. > > Blergh that'd make a mess of things again. > > Actually, looking better at your patch: are we not just ok with that? > > I mean, we don't need this check on idle_cpu since in > sugov_aggregate_util we already skip the util=sg_cpu->max in case of > !rq->rt.rt_nr_running, while we aggregate just CFS and DL requests. Right, well, I don't actually have an environment to test this sanely, so someone will have to go play with the various variations and see what works.