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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to