
From: Zhang Qiao <zhangqiao22@huawei.com> hulk inclusion category: feature bugzilla: 51828, https://gitee.com/openeuler/kernel/issues/I4K96G CVE: NA -------------------------------- In order for the throttled task to continue running after the CPU is offline, we need unthrottle the throttled cfs rq saved in the qos_throttled_cfs_rq. Signed-off-by: Zhang Qiao <zhangqiao22@huawei.com> Signed-off-by: Zheng Zucheng <zhengzucheng@huawei.com> Reviewed-by: Chen Hui <judy.chenhui@huawei.com> Reviewed-by: Xiu Jianfeng <xiujianfeng@huawei.com> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> --- kernel/sched/fair.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 24ea9b7a716e9..01ae007760376 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -101,6 +101,8 @@ int __weak arch_asym_cpu_priority(int cpu) #ifdef CONFIG_QOS_SCHED static DEFINE_PER_CPU_SHARED_ALIGNED(struct list_head, qos_throttled_cfs_rq); + +static int unthrottle_qos_cfs_rqs(int cpu); #endif #ifdef CONFIG_CFS_BANDWIDTH @@ -5131,6 +5133,10 @@ static void __maybe_unused unthrottle_offline_cfs_rqs(struct rq *rq) unthrottle_cfs_rq(cfs_rq); } rcu_read_unlock(); + +#ifdef CONFIG_QOS_SCHED + unthrottle_qos_cfs_rqs(cpu_of(rq)); +#endif } #else /* CONFIG_CFS_BANDWIDTH */ -- 2.25.1