diff options
author | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2003-12-19 14:38:15 +0000 |
---|---|---|
committer | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2003-12-19 14:38:15 +0000 |
commit | 24e81789606925507a369a624941c7bbab793735 (patch) | |
tree | 4f9b3c3bcafc3357a3ec41fd071742e69bceb1b6 /xenolinux-2.4.22-sparse/mm/memory.c | |
parent | 49836d9d4f67e92796cf8d68ad4361b448bd7d9d (diff) | |
parent | 8708081a01a064f8356f580445cc57f6aa2b9648 (diff) | |
download | xen-24e81789606925507a369a624941c7bbab793735.tar.gz xen-24e81789606925507a369a624941c7bbab793735.tar.bz2 xen-24e81789606925507a369a624941c7bbab793735.zip |
bitkeeper revision 1.651 (3fe30d57DatlAZVUHwbVCkF4_TelxA)
Merge labyrinth.cl.cam.ac.uk:/usr/groups/xeno/BK/xeno.bk
into labyrinth.cl.cam.ac.uk:/auto/anfs/scratch/labyrinth/iap10/xeno-clone/xeno.bk
Diffstat (limited to 'xenolinux-2.4.22-sparse/mm/memory.c')
-rw-r--r-- | xenolinux-2.4.22-sparse/mm/memory.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/xenolinux-2.4.22-sparse/mm/memory.c b/xenolinux-2.4.22-sparse/mm/memory.c index 0fdc801c0b..dc09253985 100644 --- a/xenolinux-2.4.22-sparse/mm/memory.c +++ b/xenolinux-2.4.22-sparse/mm/memory.c @@ -1326,7 +1326,8 @@ static int do_no_page(struct mm_struct * mm, struct vm_area_struct * vma, */ /* 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_page_to_ram(new_page); flush_icache_page(vma, new_page); entry = mk_pte(new_page, vma->vm_page_prot); @@ -1463,6 +1464,7 @@ pmd_t *__pmd_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address) */ if (!pgd_none(*pgd)) { pmd_free(new); + check_pgt_cache(); goto out; } } @@ -1498,6 +1500,7 @@ pte_t *pte_alloc(struct mm_struct *mm, pmd_t *pmd, unsigned long address) */ if (!pmd_none(*pmd)) { pte_free(new); + check_pgt_cache(); goto out; } } |