[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1379017042.2627.3.camel@leira.trondhjem.org>
Date: Thu, 12 Sep 2013 20:17:23 +0000
From: "Myklebust, Trond" <Trond.Myklebust@...app.com>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
CC: Linux/m68k <linux-m68k@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: Kernel size increase of +256 KiB (was: Re: RPCSEC_GSS: Share
all credential caches on a per-transport basis)
On Thu, 2013-09-12 at 21:20 +0200, Geert Uytterhoeven wrote:
> On Thu, Sep 12, 2013 at 4:13 PM, Myklebust, Trond
> <Trond.Myklebust@...app.com> wrote:
> >> > --- a/net/sunrpc/auth_gss/auth_gss.c
> >> > +++ b/net/sunrpc/auth_gss/auth_gss.c
> >> > @@ -51,6 +51,7 @@
> >> > #include <linux/sunrpc/rpc_pipe_fs.h>
> >> > #include <linux/sunrpc/gss_api.h>
> >> > #include <asm/uaccess.h>
> >> > +#include <linux/hashtable.h>
> >> >
> >> > #include "../netns.h"
> >> >
> >> > @@ -71,6 +72,9 @@ static unsigned int gss_expired_cred_retry_delay = GSS_RETRY_EXPIRED;
> >> > * using integrity (two 4-byte integers): */
> >> > #define GSS_VERF_SLACK 100
> >> >
> >> > +static DEFINE_HASHTABLE(gss_auth_hash_table, 16);
> >> > +static DEFINE_SPINLOCK(gss_auth_hash_lock);
> >>
> >> Today's m68k/atari-defconfig kernel no longer boots, as it became larger than
> >> 4 MiB.
> >>
> >> bloat-o-meter tells me:
> >>
> >> function old new delta
> >> gss_auth_hash_table - 262144 +262144
> >>
> >> Woops...
> >
> > Whoops indeed. The above should have declared 16 buckets, and not 1<<16.
> > I fell for Sasha's subtle trap...
> >
> >> Are you trying to game Tim's survey? ;-)
> >> (question 13 at http://www.embeddedlinuxconference.com/cgi-bin/survey.cgi)
> >>
> >> Can this memory be allocated dynamically / only when it's used?
> >
> > :-) It's declared inside a module, so that should already be the case,
>
> Only for the modular case. What about builtin, e.g. for nfsroot?
>
> Or is it better to not build in NFS_V4 support in that case?
>
> config NFS_V4
> If unsure, say Y.
>
> config NFSD_V4
> If unsure, say N.
>
> So that's why my defconfig has NFS_V4 but not NFSD_V4.
It should be possible now to compile in NFSv3 support (and/or NFSv2),
while keeping NFSv4 a module. That will usually result in
CONFIG_SUNRPC_GSS=m...
Of course, if your defconfig doesn't have module support then, yes, your
only option to avoid compiling in rpcsec_gss is to not select NFSv4 at
all.
--
Trond Myklebust
Linux NFS client maintainer
NetApp
Trond.Myklebust@...app.com
www.netapp.com
Powered by blists - more mailing lists