On Tue, Jun 07, 2011 at 04:07:04PM +0100, Mel Gorman wrote: > From: Minchan Kim <minchan.kim@xxxxxxxxx> > > From: Minchan Kim <minchan.kim@xxxxxxxxx> > > Pages isolated for migration are accounted with the vmstat counters > NR_ISOLATE_[ANON|FILE]. Callers of migrate_pages() are expected to > increment these counters when pages are isolated from the LRU. Once > the pages have been migrated, they are put back on the LRU or freed > and the isolated count is decremented. > > Memory failure is not properly accounting for pages it isolates > causing the NR_ISOLATED counters to be negative. On SMP builds, > this goes unnoticed as negative counters are treated as 0 due to > expected per-cpu drift. On UP builds, the counter is treated by > too_many_isolated() as a large value causing processes to enter D > state during page reclaim or compaction. This patch accounts for > pages isolated by memory failure correctly. > > [mgorman@xxxxxxx: Updated changelog] > Signed-off-by: Minchan Kim <minchan.kim@xxxxxxxxx> > Signed-off-by: Mel Gorman <mgorman@xxxxxxx> > Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> I was about to resend this patch with your updated description. Thanks! Mel. -- Kind regards Minchan Kim -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>