On Thu, 2015-12-03 at 22:52 +0100, Guillaume Morin wrote: > Greg, > > 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. Ben. > commit 7738a53cf49b034df6d52640f3a2af0c6a0fe0e2 > 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 3074aefb9a84561ee8ca6ef8863fe2f4dcaaa4ae > Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Wed May 28 13:51:12 2014 -0400 > > split dentry_kill() > > commit c06507843fac3251bb8b5c4da8d6bf1964346694 > Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Wed May 28 13:59:13 2014 -0400 > > expand dentry_kill(dentry, 0) in shrink_dentry_list() > > commit 7162622f8fcb2bb33776e2f61cf1c2b69107954d > Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Thu May 29 08:54:52 2014 -0400 > > shrink_dentry_list(): take parent's ->d_lock earlier > > commit a8ff4ae4f9db1042f352e73bda00b72e578b372e > Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Thu May 29 09:11:45 2014 -0400 > > dealing with the rest of shrink_dentry_list() livelock > > commit 1077afa0f8f8f59788c59d84436d98866933e1d4 > Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Thu May 29 09:18:26 2014 -0400 > > dentry_kill() doesn't need the second argument now > > commit 76a9eb416abfdd524fcee2f834d77282d169d6f6 > Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Date: Sat May 31 09:13:21 2014 -0700 > > dcache: add missing lockdep annotation > > commit 50a754edcdd239bd4282ed3d5010425a46edd520 > 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 > -- Ben Hutchings For every action, there is an equal and opposite criticism. - Harrison
Attachment:
signature.asc
Description: This is a digitally signed message part