Skip to content
  • Christoph Lameter's avatar
    sparsemem: vmemmap does not need section bits · 308c05e3
    Christoph Lameter authored
    
    
    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.
    
    This patch:
    
    Sparsemem vmemmap does not need any section bits.  This patch has the effect
    of reducing the number of bits used in page->flags by at least 6.
    
    Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
    Cc: Andy Whitcroft <apw@shadowen.org>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Cc: Jeremy Fitzhardinge <jeremy@goop.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    308c05e3