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

Alexey Dobriyan adobriyan at sw.ru
Thu Oct 4 07:02:02 PDT 2007


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




More information about the Devel mailing list