On Mon, Sep 21, 2020 at 7:40 AM Daniel Bristot de Oliveira <bris...@redhat.com> wrote: > > The RT_RUNTIME_SHARE sched feature enables the sharing of rt_runtime > between CPUs, allowing a CPU to run a real-time task up to 100% of the > time while leaving more space for non-real-time tasks to run on the CPU > that lend rt_runtime. > > The problem is that a CPU can easily borrow enough rt_runtime to allow > a spinning rt-task to run forever, starving per-cpu tasks like kworkers, > which are non-real-time by design. > > This patch disables RT_RUNTIME_SHARE by default, avoiding this problem. > The feature will still be present for users that want to enable it, > though. > > Signed-off-by: Daniel Bristot de Oliveira <bris...@redhat.com> > Cc: Ingo Molnar <mi...@redhat.com> > Cc: Peter Zijlstra <pet...@infradead.org> > Cc: Juri Lelli <juri.le...@redhat.com> > Cc: Vincent Guittot <vincent.guit...@linaro.org> > Cc: Dietmar Eggemann <dietmar.eggem...@arm.com> > Cc: Steven Rostedt <rost...@goodmis.org> > Cc: Ben Segall <bseg...@google.com> > Cc: Mel Gorman <mgor...@suse.de> > Cc: Daniel Bristot de Oliveira <bris...@redhat.com> > Cc: Thomas Gleixner <t...@linutronix.de> > Cc: linux-kernel@vger.kernel.org > --- > kernel/sched/features.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/sched/features.h b/kernel/sched/features.h > index 7481cd96f391..68d369cba9e4 100644 > --- a/kernel/sched/features.h > +++ b/kernel/sched/features.h > @@ -77,7 +77,7 @@ SCHED_FEAT(WARN_DOUBLE_CLOCK, false) > SCHED_FEAT(RT_PUSH_IPI, true) > #endif > > -SCHED_FEAT(RT_RUNTIME_SHARE, true) > +SCHED_FEAT(RT_RUNTIME_SHARE, false) > SCHED_FEAT(LB_MIN, false) > SCHED_FEAT(ATTACH_AGE_LOAD, true) > > -- > 2.26.2 >
Tested on an Android device and can no longer see long running RT tasks (yes, Android have those for reasons).