xfs
[Top] [All Lists]

Re: 3.14-rc2 XFS backtrace because irqs_disabled.

To: Oleg Nesterov <oleg@xxxxxxxxxx>
Subject: Re: 3.14-rc2 XFS backtrace because irqs_disabled.
From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 13 Feb 2014 09:58:47 -0800
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>, Dave Chinner <david@xxxxxxxxxxxxx>, Dave Jones <davej@xxxxxxxxxx>, Eric Sandeen <sandeen@xxxxxxxxxxx>, Linux Kernel <linux-kernel@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=yj1utRbkBpEEeJccWQMmE1WOmNwrjsZ3ihpQ7rrhlBA=; b=kDSkX0CeP9GcEISvQbcA/55mcShhJd9qXOLIk3cPT9oHidQ9FfCZgsGEQOsKYf3oeY Plsb/JIqFpL/pLA9EArWr7beCbKPWAeIf1EccthGN2kHvChMY+PA3Zq5+tvO/jIjn2dG NcLdRrCsHY6OPEMKvWAQ2VP0PUHFczSbH5NYojYyeLYBXTXKWuBV7lsAvv57wnl7pPjn RD7lk5GtHi2DJKSxd1lQu3jA6LXuu9XeyJK4P3eB0xgr/KGw7F4MlFCm+qSaFUrbAz3M gb0dJzZhRWC08G6+NxvZtk37DDYNGmCdSbxe/iV53xrl0TDoCy7d8dtjRHnJv+i063QX BDig==
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=yj1utRbkBpEEeJccWQMmE1WOmNwrjsZ3ihpQ7rrhlBA=; b=DoZWxS4i2C+nv7aAoy5nDReb6fjixSE1D011vBNDedRJM9tDg4WI8aZuzn8u5FH5Za YTD4Okx6AnWtCkSte52sY0hklnyO58W74QUig2pTgROR/yuLwmjMe/tO0qb9hLPQ/lEX 0O95cvz33A7F/tY5oq2eyN7/bCSpWKw0dBr/8=
In-reply-to: <20140213174020.GA14455@xxxxxxxxxx>
References: <20140212010941.GM18016@xxxxxxxxxxxxxxxxxx> <CA+55aFwoWT-0A_KTkXMkNqOy8hc=YmouTMBgWUD_z+8qYPphjA@xxxxxxxxxxxxxx> <20140212040358.GA25327@xxxxxxxxxx> <20140212042215.GN18016@xxxxxxxxxxxxxxxxxx> <20140212054043.GB13997@dastard> <CA+55aFxy2t7bnCUc-DhhxYxsZ0+GwL9GuQXRYtE_VzqZusmB9A@xxxxxxxxxxxxxx> <20140212113928.GO18016@xxxxxxxxxxxxxxxxxx> <CA+55aFywwx0Q8xK2GJiRJ+FV7PQEKoBRxDUxW4052FVyd5XOpg@xxxxxxxxxxxxxx> <20140212211421.GP18016@xxxxxxxxxxxxxxxxxx> <CA+55aFyobyUNFo=3rpdbxTqgV7OQetCKbCfwEEbgxUcT-1+30w@xxxxxxxxxxxxxx> <20140213174020.GA14455@xxxxxxxxxx>
Sender: linus971@xxxxxxxxx
On Thu, Feb 13, 2014 at 9:40 AM, Oleg Nesterov <oleg@xxxxxxxxxx> wrote:
>
> And we should be careful with SIGQUEUE_PREALLOC, at least
> collect_signal() should not do list_del_init()... Plus we need to
> handle the SEND_SIG_FORCED-like case.

I don't think the users need to care. They'd just call
"sigqueue_free()" not knowing about our preallocations etc. That kind
of detail should be confined to inside signal.c.

But there really aren't that many users. There's a couple of
"dequeue_signal_lock()" users, but they don't actually *want* the
siginfo at all (they're kernel threads), so we can just make that
function free the siginfo immediately (and get rid of the totally
unnecessay kernel stack allocation). And outside of signal.c only
signalfd uses "dequeue_signal()" itself, and that would be the only
one that would need to be taught to use (in signalfd_copyinfo()) and
then free the sigqueue entry.

So it really looks like the right thing to do, and fairly
straightforward. But I'm leaving the coding proof to Al, since he
already offered ;)

             Linus

<Prev in Thread] Current Thread [Next in Thread>