diff options
Diffstat (limited to 'mm/vmscan.c')
-rw-r--r-- | mm/vmscan.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c index 8760a4abfa1f..9e2ef3624d77 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -1592,6 +1592,11 @@ module_init(kswapd_init) | |||
1592 | */ | 1592 | */ |
1593 | int zone_reclaim_mode __read_mostly; | 1593 | int zone_reclaim_mode __read_mostly; |
1594 | 1594 | ||
1595 | #define RECLAIM_OFF 0 | ||
1596 | #define RECLAIM_ZONE (1<<0) /* Run shrink_cache on the zone */ | ||
1597 | #define RECLAIM_WRITE (1<<1) /* Writeout pages during reclaim */ | ||
1598 | #define RECLAIM_SWAP (1<<2) /* Swap pages out during reclaim */ | ||
1599 | |||
1595 | /* | 1600 | /* |
1596 | * Mininum time between zone reclaim scans | 1601 | * Mininum time between zone reclaim scans |
1597 | */ | 1602 | */ |
@@ -1630,8 +1635,8 @@ int zone_reclaim(struct zone *zone, gfp_t gfp_mask, unsigned int order) | |||
1630 | if (!cpus_empty(mask) && node_id != numa_node_id()) | 1635 | if (!cpus_empty(mask) && node_id != numa_node_id()) |
1631 | return 0; | 1636 | return 0; |
1632 | 1637 | ||
1633 | sc.may_writepage = 0; | 1638 | sc.may_writepage = !!(zone_reclaim_mode & RECLAIM_WRITE); |
1634 | sc.may_swap = 0; | 1639 | sc.may_swap = !!(zone_reclaim_mode & RECLAIM_SWAP); |
1635 | sc.nr_scanned = 0; | 1640 | sc.nr_scanned = 0; |
1636 | sc.nr_reclaimed = 0; | 1641 | sc.nr_reclaimed = 0; |
1637 | sc.priority = ZONE_RECLAIM_PRIORITY + 1; | 1642 | sc.priority = ZONE_RECLAIM_PRIORITY + 1; |