From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: mingo@redhat.com, peterz@infradead.org
Subject: [PATCH RFC tip/core/rcu 0/2] Avoid sending IPIs to offline CPUs
Date: Sat, 14 Oct 2017 10:51:05 -0700 [thread overview]
Message-ID: <20171014175105.GA15409@linux.vnet.ibm.com> (raw)
Hello!
This RFC series contains a couple of small patches that avoid splats due
to resched_cpu() and rt_mutex_setprio() sending IPIs to offline CPUs.
They make the obvious (and thus perhaps inappropriate) changes to
avoid this. Nevertheless, they do seem effective in rcutorture testing.
The patches are as follows:
1. Stop resched_cpu() from sending IPIs to offline CPUs, unless
that offline CPU happens to be the current CPU. (This last
proviso is required to preserve resched_cpu()'s unconditional
semantics for expedited RCU grace periods.) I am reasonably
confident in this patch.
2. Stop switched_to_rt() from sending IPIs to offline CPUs, in
particular, when invoked via rt_mutex_lock(). This -looks-
correct to me, but I am assuming that the fact that the current
CPU is holding the target task's CPU's rq lock is preventing
the to-be-boosted task from doing anything, and that a later
migration of the target task will finalize the priority boosting.
But there might be an odd corner case involving offlining an
extremely heavily loaded CPU with lots of preempted tasks, one of
which is blocking a high-priority real-time task somewhere else.
Note: The first patch depends on a patch intended for the upcoming
merge window, and this latter patch may be found here:
lkml.kernel.org/r/1507152575-11055-6-git-send-email-paulmck@linux.vnet.ibm.com
Thanx, Paul
------------------------------------------------------------------------
core.c | 3 ++-
rt.c | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
next reply other threads:[~2017-10-14 17:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-14 17:51 Paul E. McKenney [this message]
2017-10-14 17:51 ` [PATCH RFC tip/core/rcu 1/2] sched: Stop resched_cpu() from sending IPIs to offline CPUs Paul E. McKenney
2017-10-14 17:51 ` [PATCH RFC tip/core/rcu 2/2] sched: Stop switched_to_rt() " Paul E. McKenney
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=20171014175105.GA15409@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).