Hi Dietmar, Sorry for my late response.. > > + * Since rq->dl.bw_ratio contains 1 / Umax multiplied by 2^RATIO_SHIFT, dl_bw > > + * is multiped by rq->dl.bw_ratio and shifted right by RATIO_SHIFT. > > nit-pick: > > s/multiped/multiplied > Sorry I missed this. I am working on couple more GRUB fixes and will fix this along with those changes. > Not related to this patch directly but I still can't see how `GRUB-PA` > with schedutil CPUfreq governor should work together with GRUB reclaiming. > > CPU frequency is influenced by Uact (rq->dl.running_bw): > > sugov_get_util() -> effective_cpu_util() -> cpu_bw_dl() -> > > return rq->dl.running_bw * SCHED_CAPACITY_SCALE) >> BW_SHIFT > > But the extra GRUB reclaim runtime is calculated based on rq->dl.max_bw > and AFAICS, Uact is not adjusted by scaled_delta_exec? > I haven't had a chance to look at GRUB-PA till now and after reading your mail, I had a quick read of GRUB-PA paper[1] :-). From what I understood, the dea of GRUB-PA is not to reclaim to the maximum allowable bandwidth, but to scale down the frequency to the required utilization(running_bw). This way the tasks run longer(similar to reclaiming) but using less power. GRUB reclaim is calculated indirectly based on running_bw as well as "Uinact = this_bw - running_bw". We factor in reserved and running bw into the equation and then scale it down to max_bw. So if my understanding is correct, GRUB-PA doesn't technically reclaim extra processing capacity, but just allows the task to run longer at lower frequency so as to save power. I might be wrong and not an expert here. Luca, please correct me if I am wrong. Thanks, Vineeth [1] C. Scordino, G. Lipari, A Resource Reservation Algorithm for Power-Aware Scheduling of Periodic and Aperiodic Real-Time Tasks, IEEE Transactions on Computers, December 2006.