[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFyz1oQQ+uz9DPSEmYBBby1VKTRFz81mTt3mVSLN+tMK+A@mail.gmail.com>
Date: Mon, 26 May 2014 11:17:42 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Al Viro <viro@...iv.linux.org.uk>
Cc: Mika Westerberg <mika.westerberg@...ux.intel.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Miklos Szeredi <mszeredi@...e.cz>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>
Subject: Re: fs/dcache.c - BUG: soft lockup - CPU#5 stuck for 22s! [systemd-udevd:1667]
On Mon, May 26, 2014 at 8:27 AM, Al Viro <viro@...iv.linux.org.uk> wrote:
>
> That's the livelock. OK.
Hmm. Is there any reason we don't have some exclusion around
"check_submounts_and_drop()"?
That would seem to be the simplest way to avoid any livelock: just
don't allow concurrent calls (we could make the lock per-filesystem or
whatever). This whole case should all be for just exceptional cases
anyway.
We already sleep in that thing (well, "cond_resched()"), so taking a
mutex should be fine.
The attached (TOTALLY UNTESTED!) patch as an example. Avert your eyes.
Mika, does this make any difference?
Linus
View attachment "patch.diff" of type "text/plain" (637 bytes)
Powered by blists - more mailing lists