From: Jaroslav Kysela The do_no_page() function in mm/memory.c does accounting for reserved pages (++mm->rss), but in zap_pte_range() we don't decrement rss if the page was reserved. So don't account for PageReserved pages in the rss. (Maybe it would be better to fix zap_pte_range in the opposite direction..) 25-akpm/mm/memory.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) diff -puN mm/memory.c~nopage-rss-accounting-fix mm/memory.c --- 25/mm/memory.c~nopage-rss-accounting-fix Tue Aug 26 14:12:55 2003 +++ 25-akpm/mm/memory.c Tue Aug 26 14:14:39 2003 @@ -1457,7 +1457,8 @@ retry: */ /* Only go through if we didn't race with anybody else... */ if (pte_none(*page_table)) { - ++mm->rss; + if (!PageReserved(new_page)) + ++mm->rss; flush_icache_page(vma, new_page); entry = mk_pte(new_page, vma->vm_page_prot); if (write_access) _