Small adjustment: zap_pte_range decrement its rss counts from 0 then finally add, avoiding negations - we don't have or need a sub_mm_rss. Signed-off-by: Hugh Dickins --- Signed-off-by: Andrew Morton --- mm/memory.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff -puN mm/memory.c~mm-zap_pte_range-dec-rss mm/memory.c --- devel/mm/memory.c~mm-zap_pte_range-dec-rss 2005-10-13 16:05:43.000000000 -0700 +++ devel-akpm/mm/memory.c 2005-10-13 16:05:43.000000000 -0700 @@ -613,13 +613,13 @@ static void zap_pte_range(struct mmu_gat set_pte_at(mm, addr, pte, pgoff_to_pte(page->index)); if (PageAnon(page)) - anon_rss++; + anon_rss--; else { if (pte_dirty(ptent)) set_page_dirty(page); if (pte_young(ptent)) mark_page_accessed(page); - file_rss++; + file_rss--; } page_remove_rmap(page); tlb_remove_page(tlb, page); @@ -636,7 +636,7 @@ static void zap_pte_range(struct mmu_gat pte_clear_full(mm, addr, pte, tlb->fullmm); } while (pte++, addr += PAGE_SIZE, addr != end); - add_mm_rss(mm, -file_rss, -anon_rss); + add_mm_rss(mm, file_rss, anon_rss); pte_unmap(pte - 1); } _