From baa4bee0d167058359dbf747cb51e1f0bcd1dab7 Mon Sep 17 00:00:00 2001 From: Peng Wang Date: Mon, 13 Sep 2021 11:35:39 +0800 Subject: [PATCH] anolis: sched: Ensure the logic of check_preempt_tick with CONFIG_GROUP_IDENTITY off ANBZ: #471 If we turn CONFIG_GROUP_IDENTITY off, is_highclass() will return false, which will result in that check_preempt_tick() returns immediately, and this is not right. To solved this problem, we just judge whether delta_exec < sysctl_sched_min_granularity if CONFIG_GROUP_IDENTITY is off. Signed-off-by: Peng Wang Signed-off-by: Cruz Zhao Signed-off-by: Shile Zhang Acked-by: Michael Wang --- kernel/sched/fair.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index ea694d4f23a8db..c9151b8732a15d 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -5546,7 +5546,11 @@ check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr) * narrow margin doesn't have to wait for a full slice. * This also mitigates buddy induced latencies under load. */ +#ifdef CONFIG_GROUP_IDENTITY if (is_highclass(curr) && delta_exec < sysctl_sched_min_granularity) +#else + if (delta_exec < sysctl_sched_min_granularity) +#endif return; /* Must be on expel if no next se, and curr won't be expellee */