On Mon, Nov 23, 2020 at 07:31:31AM -0500, Vineeth Pillai wrote:
> Hi Balbir,
>
> On 11/22/20 6:44 AM, Balbir Singh wrote:
> >
> > This seems cumbersome, is there no way to track the min_vruntime via
> > rq->core->min_vruntime?
> Do you mean to have a core wide min_vruntime? We had a
> similar approach from v3 to v7 and it had major issues which
> broke the assumptions of cfs. There were some lengthy
> discussions and Peter explained in-depth about the issues:
>
> https://lwn.net/ml/linux-kernel/[email protected]/
> https://lwn.net/ml/linux-kernel/[email protected]/
>
One of the equations in the link is
">From which immediately follows that:
T_k + T_l
S_k+l = --------- (13)
W_k + W_l
On which we can define a combined lag:
lag_k+l(i) := S_k+l - s_i (14)
And that gives us the tools to compare tasks across a combined runqueue.
"
S_k+l reads like rq->core->vruntime, but it sounds like the equivalent
of rq->core->vruntime is updated when we enter forced idle as opposed to
all the time.
Balbir