On Tue 07-06-11 16:07:04, 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. Aren't we missing this in compact_zone as well? AFAICS there is no accounting done after we isolate pages from LRU? Or am I missing something? > > 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> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> -- Michal Hocko SUSE Labs SUSE LINUX s.r.o. Lihovarska 1060/12 190 00 Praha 9 Czech Republic -- 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>