scx_lavd: tuning the time slice and preemption margins

Tuning the time slice under high load and change the kick/tick margins
for preemption more conservative. Especially, aggressive IPI-based
preemption (kick) causes performance unstability.

Signed-off-by: Changwoo Min <changwoo@igalia.com>
This commit is contained in:
Changwoo Min 2024-07-31 00:30:59 +09:00
parent 35b0d9f3c2
commit 6136cbee65

View File

@ -57,8 +57,8 @@ enum consts {
LAVD_MAX_RETRY = 4,
LAVD_TARGETED_LATENCY_NS = (20ULL * NSEC_PER_MSEC),
LAVD_SLICE_MIN_NS = (30ULL * NSEC_PER_USEC), /* min time slice */
LAVD_SLICE_MAX_NS = ( 3ULL * NSEC_PER_MSEC), /* max time slice */
LAVD_SLICE_MIN_NS = (300ULL * NSEC_PER_USEC), /* min time slice */
LAVD_SLICE_MAX_NS = (3ULL * NSEC_PER_MSEC), /* max time slice */
LAVD_SLICE_UNDECIDED = SCX_SLICE_INF,
LAVD_LC_FREQ_MAX = 1000000,
@ -77,8 +77,8 @@ enum consts {
LAVD_CPU_ID_NONE = ((u32)-1),
LAVD_CPU_ID_MAX = 512,
LAVD_PREEMPT_KICK_MARGIN = (2ULL * NSEC_PER_USEC),
LAVD_PREEMPT_TICK_MARGIN = (1ULL * NSEC_PER_USEC),
LAVD_PREEMPT_KICK_MARGIN = (1ULL * NSEC_PER_MSEC),
LAVD_PREEMPT_TICK_MARGIN = (100ULL * NSEC_PER_USEC),
LAVD_SYS_STAT_INTERVAL_NS = (25ULL * NSEC_PER_MSEC),
LAVD_CC_PER_CORE_MAX_CTUIL = 500, /* maximum per-core CPU utilization */