diff options
| author | Martin Bligh <[email protected]> | 2006-10-28 10:38:25 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2006-10-28 11:30:51 -0700 |
| commit | bbdb396a60b2ebf7de3b717991e5d3e28c8b7bbd (patch) | |
| tree | efeca197ae8a2421940006ace6c1b719b1811a0c /include | |
| parent | 3bb1a852ab6c9cdf211a2f4a2f502340c8c38eca (diff) | |
[PATCH] Use min of two prio settings in calculating distress for reclaim
If try_to_free_pages / balance_pgdat are called with a gfp_mask specifying
GFP_IO and/or GFP_FS, they will reclaim the requisite number of pages, and the
reset prev_priority to DEF_PRIORITY (or to some other high (ie: unurgent)
value).
However, another reclaimer without those gfp_mask flags set (say, GFP_NOIO)
may still be struggling to reclaim pages. The concurrent overwrite of
zone->prev_priority will cause this GFP_NOIO thread to unexpectedly cease
deactivating mapped pages, thus causing reclaim difficulties.
Fix this is to key the distress calculation not off zone->prev_priority, but
also take into account the local caller's priority by using
min(zone->prev_priority, sc->priority)
Signed-off-by: Martin J. Bligh <[email protected]>
Cc: Nick Piggin <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions