Re: [PATCH] sched/fair: set the se->vlag strictly following the paper

From: Shijie Huang
Date: Thu Jun 19 2025 - 23:01:20 EST



On 2025/6/19 21:53, Vincent Guittot wrote:
On Thu, 19 Jun 2025 at 05:20, Huang Shijie
<shijie@xxxxxxxxxxxxxxxxxxxxxx> wrote:
From the paper, the lag should follow the limit:
-r_max < lag < max(r_max, q)

But current code makes the lag follow the limit:
-max(r_max, q) < lag < max(r_max, q)

This patch introduces limit_hi/limit_lo/r_max, and
make the lag follow the paper strictly.
We don't strictly follow the paper. Typically, paper assumes that a
task will not run more than its slice r before deciding which task is
the next to run. But this is not our case as we must wait for a sched
event like the tick before picking next task which can be longer than
the slice r

Side note, we don't have a fix definition of the quantum q which is
something between 0 and a tick (and even more currently with run to
parity) as we wait for the next the tick to pick another task

This means that a task can run a full tick period even if its slice is
shorter than the tick period

Thanks for the explanations.

But if we enable the HRTICK, the task will run to match its slice.


Thanks

Huang Shijie