Messages in this thread |  | | Date | Mon, 26 May 2014 17:42:47 +0100 | | From | Al Viro <> | | Subject | Re: fs/dcache.c - BUG: soft lockup - CPU#5 stuck for 22s! [systemd-udevd:1667] |
| |
On Mon, May 26, 2014 at 04:27:03PM +0100, Al Viro wrote:
> Do these livelocks keep happening indefinitely, once triggered? IOW, > is that a buggered state of dcache and/or kernfs, or is it a transient pileup > that happens when we invalidate a subtree there?
Could you slap if (dentry->d_sb->s_magic == SYSFS_MAGIC) { printk(KERN_INFO "killing %p4d", dentry); WARN_ON(1); } in the very beginning of dentry_kill(), if (dentry->d_sb->s_magic == SYSFS_MAGIC) { printk(KERN_INFO "invalidate %p4d", dentry); WARN_ON(1); } right after the if (!dentry->d_inode) { d_drop(dentry); goto out; } in check_submounts_and_drop(), reproduce that shite and see what gets into the log between USB disconnect and soft lockup? Warning: it will produce an obscene amount of output. If it gets _really_ excessive (as in "can't even get through the boot without drowning in syslog traffic"), we could add a sysctl turning those on, but let's try and see if it's survivable in that form first...
|  |