From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Minchan Kim <minchan@kernel.org>,
Matthew Wilcox <willy@infradead.org>,
Mel Gorman <mgorman@techsingularity.net>,
Nicolas Saenz Julienne <nsaenzju@redhat.com>,
Juri Lelli <juri.lelli@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
"Paul E. McKenney" <paulmck@kernel.org>,
Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Steven Rostedt <rostedt@goodmis.org>,
Daniel Bristot de Oliveira <bristot@redhat.com>
Subject: Re: [patch v5] mm: lru_cache_disable: replace work queue synchronization with synchronize_rcu
Date: Fri, 11 Mar 2022 09:35:49 +0100 [thread overview]
Message-ID: <YisJ5SLBijAbcwHD@linutronix.de> (raw)
In-Reply-To: <20220310182326.5b375da6b86e95f7e71acd90@linux-foundation.org>
+ sched division
On 2022-03-10 18:23:26 [-0800], Andrew Morton wrote:
> On Thu, 10 Mar 2022 10:22:12 -0300 Marcelo Tosatti <mtosatti@redhat.com> wrote:
> > On systems that run FIFO:1 applications that busy loop,
> > any SCHED_OTHER task that attempts to execute
> > on such a CPU (such as work threads) will not
> > be scheduled, which leads to system hangs.
…
>
> Permitting a realtime thread to hang the entire system warrants a
> -stable backport, I think. That's just rude.
I'm not sure if someone is not willingly breaking the system. Based on
my experience, a thread with an elevated priority (that FIFO, RR or DL)
should not hog the CPU. A normal user (!root && !CAP_SYS_NICE) can't
increase the priority of the task.
To avoid a system hangup there is sched_rt_runtime_us which ensures that
all RT threads are throttled once the RT class exceed a certain amount
of runtime. This has been relaxed a little on systems with more CPUs so
that the RT runtime can be shared but this sharing (RT_RUNTIME_SHARE)
has been disabled by default a while ago. That safe switch
(sched_rt_runtime_us) can be disabled and is usually disabled on RT
system since the RT tasks usually run longer especially in corner cases.
People often isolate CPUs and have busy-loop tasks running with
SCHED_OTHER given that there is nothing else going on there will be no
preemption. In this case, the worker would preempt the task.
In this scenario I _can_ understand that one wants to avoid that
preemption and try things differently like this patch suggests. We can
even offload RCU thread from isolated CPUs.
But I wouldn't say this requires a backport because there is way for a
RT thread, that claims 100% of the CPU, to break the system.
Sebastian
next prev parent reply other threads:[~2022-03-11 8:35 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-22 16:01 [patch v2] mm: lru_cache_disable: replace work queue synchronization with synchronize_rcu Marcelo Tosatti
2022-02-22 16:07 ` [patch v3] " Marcelo Tosatti
2022-02-22 16:25 ` Nicolas Saenz Julienne
2022-03-04 1:03 ` Andrew Morton
2022-03-04 1:49 ` Paul E. McKenney
2022-03-04 15:08 ` Marcelo Tosatti
2022-03-04 16:02 ` Paul E. McKenney
2022-03-04 15:11 ` Marcelo Tosatti
2022-03-04 16:29 ` [patch v4] " Marcelo Tosatti
2022-03-05 0:35 ` Andrew Morton
2022-03-07 18:52 ` Marcelo Tosatti
2022-03-10 13:22 ` [patch v5] " Marcelo Tosatti
2022-03-11 2:23 ` Andrew Morton
2022-03-11 8:35 ` Sebastian Andrzej Siewior [this message]
2022-03-12 0:40 ` Andrew Morton
2022-03-12 20:39 ` Marcelo Tosatti
2022-03-13 9:23 ` Hillf Danton
2022-03-31 13:52 ` Borislav Petkov
2022-04-28 18:00 ` Marcelo Tosatti
2022-05-28 21:18 ` Andrew Morton
2022-05-28 22:54 ` Michael Larabel
2022-05-29 0:48 ` Michael Larabel
2022-06-19 12:14 ` Thorsten Leemhuis
2022-06-22 0:15 ` Andrew Morton
2022-03-05 4:33 ` [patch v4] " Paul E. McKenney
2022-03-08 17:41 ` Minchan Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YisJ5SLBijAbcwHD@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=akpm@linux-foundation.org \
--cc=bristot@redhat.com \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@techsingularity.net \
--cc=minchan@kernel.org \
--cc=mingo@redhat.com \
--cc=mtosatti@redhat.com \
--cc=nsaenzju@redhat.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.