From: Alexey Dobriyan <[EMAIL PROTECTED]> 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. :) I'm not so sure. I think double-underscores are a powerful deterrant for developers. Over time folks have learned that this prefix in an interface name means "semantics are non-trivial, use with care" and that definitely applies to init sections. I'm going to apply Pavel's patch, if you want to touch it up do so as a followon patch, thanks! - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html