summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_fault.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-10-24 18:32:37 +0000
committerkib <kib@FreeBSD.org>2012-10-24 18:32:37 +0000
commitddaaa16d8bf9166c047fc5d46f14c1877a1bcaf7 (patch)
tree533ac3e065e91d464c2baf2d5603acf9c2de9504 /sys/vm/vm_fault.c
parent2a76567642712614056aeb2c90c97db6952205b3 (diff)
downloadFreeBSD-src-ddaaa16d8bf9166c047fc5d46f14c1877a1bcaf7.zip
FreeBSD-src-ddaaa16d8bf9166c047fc5d46f14c1877a1bcaf7.tar.gz
Commit the actual text provided by Alan, instead of the wrong update
in r242011. MFC after: 1 week
Diffstat (limited to 'sys/vm/vm_fault.c')
-rw-r--r--sys/vm/vm_fault.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
index ceee8f5..ddc1119 100644
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -1287,11 +1287,13 @@ vm_fault_copy_entry(vm_map_t dst_map, vm_map_t src_map,
access &= ~VM_PROT_WRITE;
/*
- * Loop through all of the pages in the entry's range, copying
- * each one from the source object (it should be there) to the
- * destination object. Note that copied pages are not wired
- * and marked dirty to prevent reclamation without saving the
- * content into the swap file on pageout.
+ * Loop through all of the virtual pages within the entry's
+ * range, copying each page from the source object to the
+ * destination object. Since the source is wired, those pages
+ * must exist. In contrast, the destination is pageable.
+ * Since the destination object does share any backing storage
+ * with the source object, all of its pages must be dirtied,
+ * regardless of whether they can be written.
*/
for (vaddr = dst_entry->start, dst_pindex = 0;
vaddr < dst_entry->end;
OpenPOWER on IntegriCloud