• David Rientjes's avatar
    oom: change all_unreclaimable zone member to flags · e815af95
    David Rientjes authored
    Convert the int all_unreclaimable member of struct zone to unsigned long
    flags.  This can now be used to specify several different zone flags such as
    all_unreclaimable and reclaim_in_progress, which can now be removed and
    converted to a per-zone flag.
    
    Flags are set and cleared as follows:
    
    	zone_set_flag(struct zone *zone, zone_flags_t flag)
    	zone_clear_flag(struct zone *zone, zone_flags_t flag)
    
    Defines the first zone flags, ZONE_ALL_UNRECLAIMABLE and ZONE_RECLAIM_LOCKED,
    which have the same semantics as the old zone->all_unreclaimable and
    zone->reclaim_in_progress, respectively.  Also converts all current users that
    set or clear either flag to use the new interface.
    
    Helper functions are defined to test the flags:
    
    	int zone_is_all_unreclaimable(const struct zone *zone)
    	int zone_is_reclaim_locked(const struct zone *zone)
    
    All flag operators are of the atomic variety because there are currently
    readers that are implemented that do not take zone->lock.
    
    [akpm@linux-foundation.org: add needed include]
    Cc: Andrea Arcangeli <andrea@suse.de>
    Acked-by: default avatarChristoph Lameter <clameter@sgi.com>
    Signed-off-by: default avatarDavid Rientjes <rientjes@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    e815af95
vmscan.c 53.1 KB