From cdf47a7386ad528bee5f5b4e310fa33e4fd0cc98 Mon Sep 17 00:00:00 2001 From: Sultan Alsawaf Date: Mon, 13 Nov 2023 23:11:35 -0800 Subject: [PATCH] kernel: ems/ego: Set default up/down rate limits to 500/1000 us MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is empirically observed to yield good performance with reduced power consumption via having the down rate limit configured to be 2x longer than the up rate limit. This reduces bouncing between CPU frequencies by stalling down-clocking, which not only improves performance, but also counter-intuitively improves power consumption. The short up/down rate limits also provide improved interactivity and real-time response. Signed-off-by: Sultan Alsawaf [Flopster101: Adapted to Exynos energy_aware governor] Signed-off-by: Nahuel Gómez --- kernel/sched/ems/ego.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/sched/ems/ego.c b/kernel/sched/ems/ego.c index 03f591bfb..1b2a39355 100755 --- a/kernel/sched/ems/ego.c +++ b/kernel/sched/ems/ego.c @@ -1210,8 +1210,8 @@ static int ego_start(struct cpufreq_policy *policy) egp->pelt_margin = DEFAULT_PELT_MARGIN; egp->freq_update_delay_ns = 4 * NSEC_PER_MSEC; - egp->up_rate_limit_ns = 4 * NSEC_PER_MSEC; - egp->down_rate_limit_ns = 4 * NSEC_PER_MSEC; + egp->up_rate_limit_ns = 500 * NSEC_PER_MSEC; + egp->down_rate_limit_ns = 1000 * NSEC_PER_MSEC; egp->last_freq_update_time = 0; egp->next_freq = 0; egp->work_in_progress = false;