Re: [PATCH 17/17] RCU'd vfsmounts

From: Al Viro
Date: Thu Oct 03 2013 - 22:53:59 EST


On Thu, Oct 03, 2013 at 10:14:48PM +0100, Al Viro wrote:

> > So I don't see how they could possibly see ones. Modulo terminal bugs
> > in synchronize_barrier() (which can be very slow, but for umount I
> > wouldn't worry). Or modulo my brain being fried.
>
> There's one more place similar to that - kern_unmount(). There we also
> go from "longterm vfsmount, mntput() doesn't need to bother checking"
> to NULL ->mnt_ns. We can, of course, slap synchronize_rcu() there as
> well, but that might make pid_ns and ipc_ns destruction slow...

OK, fuse side of things done, smp_mb() in mntput_no_expire() dropped,
kern_umount() got synchronize_rcu() (I'm not happy about the last one,
but... hell knows; I want to see profiles before deciding what to do
about it).

Updated branch force-pushed. BTW, brlock defines can go after that;
we still two instances of lg_lock, but they spell the primitives
out instead of using br_{read,write}_lock aliases.

Speaking of those two - I really want to see file_table.c one killed.
Christoph, do you have anything along the lines of getting rid of the
mark_files_ro() nonsense? After all, a combination of r/w vfsmount
and a superblock with MS_RDONLY in flags should do about the right thing
these days... I can probably knock something together tomorrow, but
you've brought that thing up quite a few times, so if you happen to have
a patch more or less ready...
--
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/