Messages in this thread | | | Date | Wed, 8 Jun 2011 12:07:20 +0200 | From | Michal Hocko <> | Subject | Re: [PATCH 3/4] mm: memory-failure: Fix isolated page count during memory failure |
| |
On Tue 07-06-11 16:07:04, Mel Gorman wrote: > From: Minchan Kim <minchan.kim@gmail.com> > > From: Minchan Kim <minchan.kim@gmail.com> > > 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@suse.de: Updated changelog] > Signed-off-by: Minchan Kim <minchan.kim@gmail.com> > Signed-off-by: Mel Gorman <mgorman@suse.de> > Reviewed-by: Andrea Arcangeli <aarcange@redhat.com>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
-- Michal Hocko SUSE Labs SUSE LINUX s.r.o. Lihovarska 1060/12 190 00 Praha 9 Czech Republic
| |