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

From: Al Viro
Date: Fri Feb 08 2008 - 12:24:21 EST


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).
--
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/