
From: Jaroslav Kysela <perex@suse.cz>

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)

_
