Message-Id: <20080305222735.368452765@sgi.com> User-Agent: quilt/0.46-1 Date: Wed, 05 Mar 2008 14:27:35 -0800 From: Christoph Lameter To: Andrew Morton Cc: apw@shadowen.org Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Jeremy Fitzhardinge Cc: linux-mm@kvack.org Subject: Page flags V3: Cleanup and reorg Subject-Prefix: [patch @num@/@total@] A set of patches that attempts to improve page flag handling. First of all a method is introduced to generate the page flag functions using macros. Then the number of page flags used by sparsemem is reduced. All page flag operations will no longer be macros. All flags will use inline function. Then we add a way to export enum constants to the preprocessor which allows us to get rid of __ZONE_COUNT and use the NR_PAGEFLAGS for the dynamic calculation of actually available page flags for fields. V3->V4: - Put the macro back for PageHighMem(). Header dependencies do not allow the use of an inline function there. - Crossbuild on 19 configs / 6 platforms and iron out issues with sparc64 (arch use of FLAGS_RESERVED) and ia64 (more circular header dependency issues). V2->V3: - Fixup the Kbuild modifications to be able to generate bounds.h from scratch. Deal with the situation that bounds.h is not available yet during bounds.h creation. V1->V2: - Resequence: Move patches to the front that are independent of the various cleanups. Omit land grab patch. - Undefine page_to_section for SPARSEMEM_VMEMMAP. Currently unused but this avoids anyone accidentally using it in the future (Kame-san). RFC->V1 - Fix various things as suggested by Mel and Kame-san. - Avoid the #idef CONFIG_PAGEFLAG_EXTENDED. The new page flags are always available. --