Re: [PATCH 5/5] mm, vmscan: Account for skipped pages as a partial scan
From: Mel Gorman <hidden>
Date: 2016-07-25 09:53:02
Also in:
lkml
On Mon, Jul 25, 2016 at 05:39:13PM +0900, Minchan Kim wrote:
quoted
@@ -1465,14 +1471,24 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan, */ if (!list_empty(&pages_skipped)) { int zid; + unsigned long total_skipped = 0; - list_splice(&pages_skipped, src); for (zid = 0; zid < MAX_NR_ZONES; zid++) { if (!nr_skipped[zid]) continue; __count_zid_vm_events(PGSCAN_SKIP, zid, nr_skipped[zid]); + total_skipped += nr_skipped[zid]; } + + /* + * Account skipped pages as a partial scan as the pgdat may be + * close to unreclaimable. If the LRU list is empty, account + * skipped pages as a full scan. + */node-lru made OOM detection lengthy because a freeing of any zone will reset NR_PAGES_SCANNED easily so that it's hard to meet a situation pgdat_reclaimable returns *false*.
Your patch should go a long way to addressing that as it checks the zone counters first before conducting the scan. Remember as well that the longer detection of OOM only applies to zone-constrained allocations and there is always the possibility that highmem shrinking of pages frees lowmem memory if buffers are used. -- Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>