On Mon, Apr 27, 2015 at 03:43:44PM -0700, Andrew Morton wrote: > On Thu, 23 Apr 2015 11:33:10 +0100 Mel Gorman <[email protected]> wrote: > > > This patch initalises all low memory struct pages and 2G of the highest zone > > on each node during memory initialisation if > > CONFIG_DEFERRED_STRUCT_PAGE_INIT > > is set. That config option cannot be set but will be available in a later > > patch. Parallel initialisation of struct page depends on some features > > from memory hotplug and it is necessary to alter alter section annotations. > > > > ... > > > > +#ifdef CONFIG_DEFERRED_STRUCT_PAGE_INIT > > +#define __defermem_init __meminit > > +#define __defer_init __meminit > > +#else > > +#define __defermem_init > > +#define __defer_init __init > > +#endif > > Could we get some comments describing these? What they do, when and > where they should be used. I have a suspicion that the naming isn't > good, but I didn't spend a lot of time reverse-engineering the > intent... >
Of course. The next version will have +/* + * Deferred struct page initialisation requires some early init functions that + * are removed before kswapd is up and running. The feature depends on memory + * hotplug so put the data and code required by deferred initialisation into + * the __meminit section where they are preserved. + */ -- Mel Gorman SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

