• Andrew Morton's avatar
    [PATCH] distinguish between address span of a zone and the number · d3975580
    Andrew Morton authored
    From David Mosberger
    
    The patch below fixes a bug in nr_free_zone_pages() which shows when a
    zone has hole.  The problem is due to the fact that "struct zone"
    didn't keep track of the amount of real memory in a zone.  Because of
    this, nr_free_zone_pages() simply assumed that a zone consists entirely
    of real memory.  On machines with large holes, this has catastrophic
    effects on VM performance, because the VM system ends up thinking that
    there is plenty of memory left over in a zone, when in fact it may be
    completely full.
    
    The patch below fixes the problem by replacing the "size" member in
    "struct zone" with "spanned_pages" and "present_pages" and updating
    page_alloc.c.
    d3975580
page_alloc.c 27.2 KB