scx_lavd: tuning the deadline equation under high load

Signed-off-by: Changwoo Min <changwoo@igalia.com>
This commit is contained in:
Changwoo Min 2024-07-10 15:12:09 +09:00
parent c72e063680
commit 48debe416e
2 changed files with 3 additions and 3 deletions

View File

@ -63,7 +63,7 @@ enum consts {
LAVD_SLICE_GREEDY_FT = 3,
LAVD_LOAD_FACTOR_ADJ = 6, /* adjustment for better estimation */
LAVD_LOAD_FACTOR_MAX = (20 * 1000),
LAVD_LOAD_FACTOR_FT = 80, /* factor to stretch the time line */
LAVD_LOAD_FACTOR_FT = 4, /* factor to stretch the time line */
LAVD_LC_FREQ_MAX = 1000000,
LAVD_LC_RUNTIME_MAX = LAVD_TARGETED_LATENCY_NS,
@ -75,7 +75,7 @@ enum consts {
LAVD_SLICE_BOOST_MAX_STEP = 8, /* 8 slice exhausitions in a row */
LAVD_GREEDY_RATIO_MAX = USHRT_MAX,
LAVD_LAT_PRIO_IDLE = USHRT_MAX,
LAVD_LAT_WEIGHT_SHIFT = 4,
LAVD_LAT_WEIGHT_SHIFT = 5,
LAVD_ELIGIBLE_TIME_LAT_FT = 16,
LAVD_ELIGIBLE_TIME_MAX = (100 * NSEC_PER_USEC),

View File

@ -1410,7 +1410,7 @@ static u64 calc_virtual_deadline_delta(struct task_struct *p,
* is lower (i.e., higher value) and the load is higher.
*/
vdeadline_delta_ns = (vdeadline_delta_ns * load_factor *
taskc->lat_prio * taskc->lat_prio) /
taskc->lat_prio) /
(LAVD_LOAD_FACTOR_FT * 1000);
}