diff options
author | dg <dg@FreeBSD.org> | 1995-11-02 06:42:47 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1995-11-02 06:42:47 +0000 |
commit | c85bf90168e3d2e61908e54987b6493f20b4e818 (patch) | |
tree | 1ef08ef9fa88c5009e7bba63466d5b723a300198 /sys/vm/swap_pager.c | |
parent | c53e4d30eddfc89be2cd81c9c3ea3a595789fdc2 (diff) | |
download | FreeBSD-src-c85bf90168e3d2e61908e54987b6493f20b4e818.zip FreeBSD-src-c85bf90168e3d2e61908e54987b6493f20b4e818.tar.gz |
Move page fixups (pmap_clear_modify, etc) that happen after paging input
completes out of vm_fault and into the pagers. This get rid of some
redundancy and improves the architecture.
Reviewed by: John Dyson <dyson>
Diffstat (limited to 'sys/vm/swap_pager.c')
-rw-r--r-- | sys/vm/swap_pager.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 03c3d0f..fbdb09c 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -39,7 +39,7 @@ * from: Utah $Hdr: swap_pager.c 1.4 91/04/30$ * * @(#)swap_pager.c 8.9 (Berkeley) 3/21/94 - * $Id: swap_pager.c,v 1.46 1995/09/11 00:47:17 dyson Exp $ + * $Id: swap_pager.c,v 1.47 1995/09/24 04:40:19 davidg Exp $ */ /* @@ -1084,6 +1084,11 @@ swap_pager_getpages(object, m, count, reqpage) swap_pager_ridpages(m, count, reqpage); } } + if (rv == VM_PAGER_OK) { + pmap_clear_modify(VM_PAGE_TO_PHYS(m[reqpage])); + m[reqpage]->valid = VM_PAGE_BITS_ALL; + m[reqpage]->dirty = 0; + } return (rv); } |