summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonwoo Park <joonwoop@codeaurora.org>2017-06-01 10:59:12 -0700
committerGeorg Veichtlbauer <georg@vware.at>2023-07-16 12:47:43 +0200
commit41cbb7bc59fb94f020839f20b890033e2f407ca3 (patch)
tree6e0509bdb04f7eacc449350b1becfde6f604761d
parent43cbf9d6153d820d68ba96ddb1a57dbdc7373c90 (diff)
sched: walt: fix window misalignment when HZ=300
Due to rounding error hrtimer tick interval becomes 3333333 ns when HZ=300. Consequently the tick time stamp nearest to the WALT's default window size 20ms will be also 19999998 (3333333 * 6). [beykerykt]: Adapt for HMP Change-Id: I08f9bd2dbecccbb683e4490d06d8b0da703d3ab2 Suggested-by: Joel Fernandes <joelaf@google.com> Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
-rw-r--r--kernel/sched/hmp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/sched/hmp.c b/kernel/sched/hmp.c
index 598656b42203..f9fff7217eaa 100644
--- a/kernel/sched/hmp.c
+++ b/kernel/sched/hmp.c
@@ -765,7 +765,15 @@ unsigned int
min_max_possible_capacity = 1024; /* min(rq->max_possible_capacity) */
/* Min window size (in ns) = 10ms */
+#ifdef CONFIG_HZ_300
+/*
+ * Tick interval becomes to 3333333 due to
+ * rounding error when HZ=300.
+ */
+#define MIN_SCHED_RAVG_WINDOW (3333333 * 6)
+#else
#define MIN_SCHED_RAVG_WINDOW 10000000
+#endif
/* Max window size (in ns) = 1s */
#define MAX_SCHED_RAVG_WINDOW 1000000000