OSDN Git Service

cpufreq/schedutil: Rewrite CPUFREQ_RT support
authorPeter Zijlstra <peterz@infradead.org>
Wed, 20 Dec 2017 15:26:12 +0000 (16:26 +0100)
committerIngo Molnar <mingo@kernel.org>
Fri, 9 Mar 2018 06:59:15 +0000 (07:59 +0100)
commit8f111bc357aa811e0bb5fdfe34c4c9efdafc15b9
tree22a20bec8324aaa71d1fe9de174dd8bc0138f771
parent4042d003a0792a3b05c7c424219e4c6cf1abfe76
cpufreq/schedutil: Rewrite CPUFREQ_RT support

Instead of trying to duplicate scheduler state to track if an RT task
is running, directly use the scheduler runqueue state for it.

This vastly simplifies things and fixes a number of bugs related to
sugov and the scheduler getting out of sync wrt this state.

As a consequence we not also update the remove cfs/dl state when
iterating the shared mask.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Juri Lelli <juri.lelli@arm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
include/linux/sched/cpufreq.h
kernel/sched/cpufreq_schedutil.c
kernel/sched/rt.c