Re: [RFC][PATCHSET v3] non-recursive pathname resolution & RCU symlinks

From: Jeremy Allison
Date: Thu May 14 2015 - 18:09:43 EST


On Wed, May 13, 2015 at 08:52:59PM -0700, Linus Torvalds wrote:
> On Wed, May 13, 2015 at 8:30 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
> >
> > Maybe... I'd like to see the profiles, TBH - especially getxattr() and
> > access() frequency on various loads. Sure, make(1) and cc(1) really care
> > about stat() very much, but I wouldn't be surprised if something like
> > httpd or samba would be hitting getxattr() a lot...
>
> So I haven't seen samba profiles in ages, but iirc we have more
> serious problems than trying to speed up basic filename lookup.

Let me know what you need :-).

>
> Also, I *think* samba ends up basically doing most of the pathname
> lookups from its own user-level cache, because of how it needs to
> avoid symlinks and do the whole crazy case insensitive pathname thing.
> I have this very dim memory that that's one reason samba ends up being
> so readdir-intensive. But I might be wrong, it's been many years since
> I talked to anybody about samba, and I don't run it myself.

You should, it's very good these days :-). We have to
walk the directory trees to do the case insensitive pathname
lookups, but we cache these so when we get an incoming
pathname we look it up in the cache, see if we can
stat the looked up name and if so we're done with pathname
resolution.

Of course we tell people to just set their filesystems
up using mkfs.xfs -n version=ci :-).
--
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/