[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20150508083700.7a0ff4f8@notabene.brown>
Date: Fri, 8 May 2015 08:37:00 +1000
From: NeilBrown <neilb@...e.de>
To: Jiri Kosina <jkosina@...e.cz>
Cc: Oleg Nesterov <oleg@...hat.com>, Ingo Molnar <mingo@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Evgeniy Polyakov <zbr@...emap.net>,
Stephen Smalley <sds@...ho.nsa.gov>,
Alex Williamson <alex.williamson@...hat.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
kvm <kvm@...r.kernel.org>
Subject: Re: [PATCH] signals: Generate warning when flush_signals() is
called from non-kthread context
On Thu, 7 May 2015 15:33:53 +0200 (CEST) Jiri Kosina <jkosina@...e.cz> wrote:
> On Mon, 4 May 2015, Oleg Nesterov wrote:
>
> > > All the calls in md.c are in a kernel thread so safe, but I'd rather have an
> > > explicit "uninterruptible, but no load-average" wait....
> >
> > Could you please explain why md_thread() does allow_signal(SIGKILL) ?
> >
> > I am just curious. It looks as if we want to allow user-space to "call"
> > thread->run(), and this looks strange.
>
> One would think that this is because md wants to be notified when system
> is going to be halted/rebooted, and userspace init (whatever that is)
> decides to do 'kill -9 -1' to perform the final shutdown of md (the
> question is why it really should be needed, becasue all filesystems should
> be R/O by that time anyway).
>
Something like that. It is historical strangeness that might have seemed
like a good idea at the time, but is hard to justify.
There is an alt-sysrq that will remount filesystems read-only, but no
alt-sysrq to switch RAID arrays to "idle/clean". So I leverages alt-sysrq-K,
which does "kill -9 -1" (I think).
Since md gained the ability to switch to idle/clean after a short timeout,
and also the ability to use a write-intent-bitmap so only little bits of the
array are ever non idle/clean, this all became much less interesting.
NeilBrown
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists