Messages in this thread | | | Date | Thu, 1 May 2014 04:12:51 +0100 | From | Al Viro <> | Subject | Re: dcache shrink list corruption? |
| |
On Wed, Apr 30, 2014 at 07:59:43PM -0700, Linus Torvalds wrote: > On Wed, Apr 30, 2014 at 7:51 PM, Al Viro <viro@zeniv.linux.org.uk> wrote: > > > > Help with profiling is needed; the loads to watch are > > the ones where dentry_kill() + dentry_free() are sufficiently high in profiles > > for the differences to matter. Any takers? > > I really hope there are no such loads, my "lock/unlock pairing" > suggestion was mostly so that the pairing is clearer, not necessarily > for performance. > > That said, I'd assume that it migth be worth testing at least the > "lots of concurrent lookups of 'simple_dentry_operations' dentries". > So most of /proc, most uses of simple_lookup(). That at least triggers > the dentry_kill() path in dput(), so it should be fairly easy to get > profiles. > > But real loads with real filesystems? That sounds harder.
Well, the simplest way to do that is a bunch of open/unlink/close. Another one is cp -rl / rm -rf of a large tree (rmdir(2) does shrink_dcache_parent()). For that matter, unmapping an anon shared mapping will trigger the same path.
| |