diff options
author | alc <alc@FreeBSD.org> | 2009-04-19 00:34:34 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2009-04-19 00:34:34 +0000 |
commit | b13621e4e2116f2f3016335b064b30bb9cd0bf01 (patch) | |
tree | a4478ca42fa2972ea419427d212c445d985836da /sys/vm | |
parent | 1aef8359b16173faa1d44e30e6568a2b969c108c (diff) | |
download | FreeBSD-src-b13621e4e2116f2f3016335b064b30bb9cd0bf01.zip FreeBSD-src-b13621e4e2116f2f3016335b064b30bb9cd0bf01.tar.gz |
Allow valid pages to be mapped for read access when they have a non-zero
busy count. Only mappings that allow write access should be prevented by
a non-zero busy count.
(The prohibition on mapping pages for read access when they have a non-
zero busy count originated in revision 1.202 of i386/i386/pmap.c when
this code was a part of the pmap.)
Reviewed by: tegge
Diffstat (limited to 'sys/vm')
-rw-r--r-- | sys/vm/vm_fault.c | 1 | ||||
-rw-r--r-- | sys/vm/vm_map.c | 3 |
2 files changed, 1 insertions, 3 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index bd7de42..26a2d6a 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -1027,7 +1027,6 @@ vm_fault_prefault(pmap_t pmap, vm_offset_t addra, vm_map_entry_t entry) break; } if (((m->valid & VM_PAGE_BITS_ALL) == VM_PAGE_BITS_ALL) && - (m->busy == 0) && (m->flags & PG_FICTITIOUS) == 0) { vm_page_lock_queues(); diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 718c890..32fdfde 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -1683,8 +1683,7 @@ vm_map_pmap_enter(vm_map_t map, vm_offset_t addr, vm_prot_t prot, psize = tmpidx; break; } - if ((p->valid & VM_PAGE_BITS_ALL) == VM_PAGE_BITS_ALL && - (p->busy == 0)) { + if ((p->valid & VM_PAGE_BITS_ALL) == VM_PAGE_BITS_ALL) { if (p_start == NULL) { start = addr + ptoa(tmpidx); p_start = p; |