On Thu, May 29, 2014 at 01:51:07PM +0300, Mika Westerberg wrote: > On Thu, May 29, 2014 at 06:34:44AM +0100, Al Viro wrote: > > On Thu, May 29, 2014 at 04:52:33AM +0100, Al Viro wrote: > > > On Thu, May 29, 2014 at 04:11:49AM +0100, Al Viro wrote: > > > > On Wed, May 28, 2014 at 07:39:54PM +0100, Al Viro wrote: > > > > > > > > > OK, the warnings about averting your eyes very much apply; the thing below > > > > > definitely needs more massage before it becomes acceptable (and no, it's > > > > > not a single commit; I'm not that insane), but it changes behaviour in the > > > > > way described above. Could you check if the livelock persists with it? > > > > > No trace-generating code in there, so the logs should be compact enough... > > > > > > > > Here's an updated patch, hopefully slightly less vomit-inducing. Should > > > > give the same behaviour as the previous one... Again, it's a cumulative > > > > diff - I'm still massaging the splitup here. > > > > > > BTW, it still leaves the "proceed to parent" case in shrink_dentry_list(); > > > in theory, it's also vulnerable to the same livelock. Can be dealt pretty > > > much the same way; I'd rather leave that one for right after -final, though, > > > if the already posted variant turns out to be sufficient... > > > > ... which is (presumably) dealt with the incremental I'd just sent to Linus; > > seeing what kind of dumb mistakes I'm making, I'd better call it quits for > > tonight - it's 1:30am here and I didn't have anywhere near enough sleep > > yesterday. I'd appeciate if you could test the patch immediately > > upthread (from Message-ID: <20140529031149.GE18016@xxxxxxxxxxxxxxxxxx>) > > and see if it helps. There's an incremental on top of it (from > > Message-ID: <20140529052621.GH18016@xxxxxxxxxxxxxxxxxx>) that might or > > might not be a good idea. > > Thanks for the patch. > > I tested patch <20140529031149.GE18016@xxxxxxxxxxxxxxxxxx> and it seems > to improve things. After first plug/unplug I can see similar behaviour > but after a while it recovered. I did several iterations of plug/unplug > afterwards and didn't see the livelock to trigger. > > dmesg is attached. > > I'm going to try your incremental patch now. With your both patches applied the problem is gone :-) I did 20 plug/unplugs, rebooted the machine and another 20 plug/unplugs and didn't see the livelock at once. Thanks a lot! -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html