Re: [PATCH] reduce large do_mount stack usage with noinlines

Al Viro
2008-02-08T17:24:19Z

On Fri, Feb 08, 2008 at 10:54:09AM -0600, Eric Sandeen wrote:

> On gcc 4.1.2 and 4.3 (fedora flavors) I don't see it re-used in
> do_mount, though... *shrug*

Frankly, a wrapper for path_lookup() that would take struct path *,
refuse to do LOOKUP_PARENT (i.e. guaranteed to have nothing stored
in nameidata other than ->mnt and ->dentry) and copied result of
lookup into passed struct path * would help a lot more.

Taking it to fs/namei.c would prevent inlining just fine and we'd
be left with pair of pointers in caller's stack frame instead of
full struct nameidata. All users in fs/namespace.c can be trivially
converted to that and AFAICS it would save a lot more than we would
get from making everything in there not inlined.

I'll do that in fs/namei.c sanitizing series (opens as soon as ro-bind
stuff goes in).