From: Mike Galbraith <umgwanakikbuti@gmail.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
linux-rt-users@vger.kernel.org, linux-kernel@vger.kernel.org,
Steven Rostedt <rostedt@goodmis.org>
Subject: Re: [PATCH RT 4/6] rt/locking: Reenable migration accross schedule
Date: Thu, 31 Mar 2016 08:31:43 +0200 [thread overview]
Message-ID: <1459405903.14336.64.camel@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.11.1603241140510.3978@nanos>
On Thu, 2016-03-24 at 11:44 +0100, Thomas Gleixner wrote:
> I really wonder what makes the change. The only thing which comes to my mind
> is the enforcement of running the online and down_prepare callbacks on the
> plugged cpu instead of doing it wherever the scheduler decides to run it.
It seems it's not the state machinery making a difference after all,
the only two deadlocks encountered in oodles of beating seem to boil
down to the grab_lock business being a pistol aimed at our own toes.
1. kernfs_mutex taken during hotplug: We don't pin across mutex
acquisition, so anyone grabbing it and then calling migrate_disable()
while grab_lock is set renders us dead. Pin across acquisition of that
specific mutex fixes that specific grab_lock instigated deadlock.
2. notifier dependency upon RCU GP threads: Telling same to always do
migrate_me() or hotplug can bloody well wait fixes that specific
grab_lock instigated deadlock.
With those two little hacks, all of my boxen including DL980 just keep
on chugging away in 4.[456]-rt, showing zero inclination to identify
any more hotplug bandits.
What I like much better than 1 + 2 is their sum, which would generate
minus signs, my favorite thing in patches, and fix the two above and
anything that resembles them in any way...
3. nuke irksome grab_lock: make everybody always try to get the hell
outta Dodge or hotplug can bloody well wait.
I haven't yet flogged my 64 core box doing that, but my local boxen
seem to be saying we don't really really need the grab_lock business.
Are my boxen fibbing, is that very attractive looking door #3 a trap?
-Mike
next prev parent reply other threads:[~2016-03-31 6:31 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-12 23:02 [PATCH RT 1/6] kernel: softirq: unlock with irqs on Sebastian Andrzej Siewior
2016-02-12 23:02 ` [PATCH RT 2/6] kernel: migrate_disable() do fastpath in atomic & irqs-off Sebastian Andrzej Siewior
2016-02-12 23:02 ` [PATCH RT 3/6] rtmutex: push down migrate_disable() into rt_spin_lock() Sebastian Andrzej Siewior
2016-02-12 23:02 ` [PATCH RT 4/6] rt/locking: Reenable migration accross schedule Sebastian Andrzej Siewior
2016-03-20 8:43 ` Mike Galbraith
2016-03-24 10:07 ` Mike Galbraith
2016-03-24 10:44 ` Thomas Gleixner
2016-03-24 11:06 ` Mike Galbraith
2016-03-25 5:38 ` Mike Galbraith
2016-03-25 8:52 ` Thomas Gleixner
2016-03-25 9:13 ` Mike Galbraith
2016-03-25 9:14 ` Mike Galbraith
2016-03-25 16:24 ` Mike Galbraith
2016-03-29 4:05 ` Mike Galbraith
2016-03-31 6:31 ` Mike Galbraith [this message]
2016-04-01 21:11 ` Sebastian Andrzej Siewior
2016-04-02 3:12 ` Mike Galbraith
2016-04-05 12:49 ` [rfc patch 0/2] Kill hotplug_lock()/hotplug_unlock() Mike Galbraith
[not found] ` <1459837988.26938.16.camel@gmail.com>
2016-04-05 12:49 ` [rfc patch 1/2] rt/locking/hotplug: " Mike Galbraith
2016-04-05 12:49 ` [rfc patch 2/2] rt/locking/hotplug: Fix rt_spin_lock_slowlock() migrate_disable() bug Mike Galbraith
2016-04-06 12:00 ` Mike Galbraith
2016-04-07 4:37 ` Mike Galbraith
2016-04-07 16:48 ` Sebastian Andrzej Siewior
2016-04-07 19:08 ` Mike Galbraith
2016-04-07 16:47 ` [PATCH RT 4/6] rt/locking: Reenable migration accross schedule Sebastian Andrzej Siewior
2016-04-07 19:04 ` Mike Galbraith
2016-04-08 10:30 ` Sebastian Andrzej Siewior
2016-04-08 12:10 ` Mike Galbraith
2016-04-08 6:35 ` Mike Galbraith
2016-04-08 13:44 ` Mike Galbraith
2016-04-08 13:44 ` Mike Galbraith
2016-04-08 13:58 ` Sebastian Andrzej Siewior
2016-04-08 14:16 ` Mike Galbraith
2016-04-08 14:51 ` Sebastian Andrzej Siewior
2016-04-08 16:49 ` Mike Galbraith
2016-04-18 17:15 ` Sebastian Andrzej Siewior
2016-04-18 17:55 ` Mike Galbraith
2016-04-19 7:07 ` Sebastian Andrzej Siewior
2016-04-19 8:55 ` Mike Galbraith
2016-04-19 9:02 ` Sebastian Andrzej Siewior
2016-02-12 23:02 ` [PATCH RT 5/6] kernel/stop_machine: partly revert "stop_machine: Use raw spinlocks" Sebastian Andrzej Siewior
2016-02-12 23:02 ` [PATCH RT 6/6] rcu: disable more spots of rcu_bh Sebastian Andrzej Siewior
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=1459405903.14336.64.camel@gmail.com \
--to=umgwanakikbuti@gmail.com \
--cc=bigeasy@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/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.