Re: fs/dcache.c - BUG: soft lockup - CPU#5 stuck for 22s! [systemd-udevd:1667]

From: Al Viro
Date: Mon May 26 2014 - 12:42:54 EST


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...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/