Re: commit e9e9250b: sync wakeup bustage when waker is an RT task

Peter Zijlstra
2010-05-17T08:52:46Z

On Mon, 2010-05-17 at 10:49 +0200, Peter Zijlstra wrote:
> On Mon, 2010-05-17 at 06:38 +0200, Mike Galbraith wrote:
> > What would be the harm/consequence of restoring RT tasks to rq->load so
> > the wake_affine()::sync logic just worked as before without hackery?
>
> Well, you'd have to constantly adjust the task weight of RT tasks to
> reflect their actual consumption. Not really feasible.
>
> So the proportional stuff works like:
>
> slice_i = w_i / (\Sum_j w_j) * dt
>
> Giving a RT task a sensible weight we'd have to reverse that:
>
> w_i = slice_i/dt * (\Sum_j w_j)

Another point to note is that this requires we track per-RT-task usage
averages, whereas the cpu_power approach simply lumps everything !fair
(one of the things still on the TODO list is account for IRQ overhead)
into a single large bucket and doesn't care.