Commit ff38424
sched/eevdf: Update se->vprot in reweight_entity()
In the EEVDF framework with Run-to-Parity protection, `se->vprot` is an
independent variable defining the virtual protection timestamp.
When `reweight_entity()` is called (e.g., via nice/renice), it performs
the following actions to preserve Lag consistency:
1. Scales `se->vlag` based on the new weight.
2. Calls `place_entity()`, which recalculates `se->vruntime` based on
the new weight and scaled lag.
However, the current implementation fails to update `se->vprot`, leading
to mismatches between the task's actual runtime and its expected duration.
Fixes: 6330455 ("sched/eevdf: Curb wakeup-preemption")
Suggested-by: Zhang Qiao <zhangqiao22@huawei.com>
Signed-off-by: Wang Tao <wangtao554@huawei.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
Tested-by: K Prateek Nayak <kprateek.nayak@amd.com>
Tested-by: Shubhang Kaushik <shubhang@os.amperecomputing.com>
Link: https://patch.msgid.link/20260120123113.3518950-1-wangtao554@huawei.com1 parent bcd74b2 commit ff38424
1 file changed
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3815 | 3815 | | |
3816 | 3816 | | |
3817 | 3817 | | |
| 3818 | + | |
| 3819 | + | |
3818 | 3820 | | |
3819 | 3821 | | |
3820 | 3822 | | |
3821 | 3823 | | |
3822 | 3824 | | |
3823 | 3825 | | |
3824 | 3826 | | |
| 3827 | + | |
| 3828 | + | |
| 3829 | + | |
| 3830 | + | |
| 3831 | + | |
3825 | 3832 | | |
3826 | 3833 | | |
3827 | 3834 | | |
| |||
3837 | 3844 | | |
3838 | 3845 | | |
3839 | 3846 | | |
| 3847 | + | |
| 3848 | + | |
| 3849 | + | |
3840 | 3850 | | |
3841 | 3851 | | |
3842 | 3852 | | |
| |||
3848 | 3858 | | |
3849 | 3859 | | |
3850 | 3860 | | |
| 3861 | + | |
| 3862 | + | |
3851 | 3863 | | |
3852 | 3864 | | |
3853 | 3865 | | |
| |||
0 commit comments