On Fri, Dec 04, 2015 at 04:43:38AM +0100, Guillaume Morin wrote: > On 04 Dec 1:52, Ben Hutchings wrote: > > > The following commits were added to 3.14.51: > > > 635fa0fd72cc974920ec3e3b23f50bde1eba3237 dcache: don't need rcu in shrink_dentry_list() > > > 85903ac93619905fe0f07e85dac57324a0936759 more graceful recovery in umount_collect() > > > c214cb82cdc744225d85899fc138251527f75fff don't remove from shrink list in select_collect() > > > > > > They create a livelock condition reported at the time in 3.15-rc4, see > > > the thread "fs/dcache.c - BUG: soft lockup - CPU#5 stuck for 22s! > > > [systemd-udevd:1667]": > > > https://groups.google.com/forum/#!msg/linux.kernel/e4tcY4cvHGg/tLZi97S02a0J > > > > > > I believe you need to pick up the following changes to fix this issue > > > (they are already in 3.12 and were merged at the same time as the 3 > > > patched mentioned above) > > > > None of the commit hashes listed below exist in mainline or the stable > > repo. You need to cite the commit hashes in mainline. > > > Sigh, yes, you're right. I pasted the hashes from my personal repo by > mistake. Here's the fixed list: > > commit 64fd72e0a44bdd62c5ca277cb24d0d02b2d8e9dc > Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Wed May 28 09:48:44 2014 -0400 > > lift the "already marked killed" case into shrink_dentry_list() > > commit e55fd011549eae01a230e3cace6f4d031b6a3453 > Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Wed May 28 13:51:12 2014 -0400 > > split dentry_kill() > > commit ff2fde9929feb2aef45377ce56b8b12df85dda69 > Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Wed May 28 13:59:13 2014 -0400 > > expand dentry_kill(dentry, 0) in shrink_dentry_list() > > commit 046b961b45f93a92e4c70525a12f3d378bced130 > Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Thu May 29 08:54:52 2014 -0400 > > shrink_dentry_list(): take parent's ->d_lock earlier > > commit b2b80195d8829921506880f6dccd21cabd163d0d > Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Thu May 29 09:11:45 2014 -0400 > > dealing with the rest of shrink_dentry_list() livelock > > commit 8cbf74da435d1bd13dbb790f94c7ff67b2fb6af4 > Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Thu May 29 09:18:26 2014 -0400 > > dentry_kill() doesn't need the second argument now > > commit 9f12600fe425bc28f0ccba034a77783c09c15af4 > Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Date: Sat May 31 09:13:21 2014 -0700 > > dcache: add missing lockdep annotation > > commit c2338f2dc7c1e9f6202f370c64ffd7f44f3d4b51 > Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Thu Jun 12 00:29:13 2014 -0400 > > lock_parent: don't step on stale ->d_parent of all-but-freed one Thanks, all now applied. greg k-h -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html