Subject: Re: [Devel] [PATCH][NETNS] Move some code into __init section when CONFIG_NET_NS=n

From: Alexey Dobriyan <[email-masked]>
Date: Thu, 4 Oct 2007 18:02:02 +0400

On Thu, Oct 04, 2007 at 05:54:11PM +0400, Pavel Emelyanov wrote:
> With the net namespaces many code leaved the __init section,
> thus making the kernel occupy more memory than it did before.
> Since we have a config option that prohibits the namespace
> creation, the functions that initialize/finalize some netns
> stuff are simply not needed and can be freed after the boot.
> 
> Currently, this is almost not noticeable, since few calls
> are no longer in __init, but when the namespaces will be
> merged it will be possible to free more code. I propose to 
> use the __net_init, __net_exit and __net_initdata "attributes"
> for functions/variables that are not used if the CONFIG_NET_NS
> is not set to save more space in memory.

> +#ifdef CONFIG_NET_NS
> +#define __net_init
> +#define __net_exit
> +#define __net_initdata
> +#else
> +#define __net_init	__init
> +#define __net_exit	__exit
> +#define __net_initdata	__initdata
> +#endif

Yet another set of double-underscored section annotations is the last thing
that is needed, methinks. :)