diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2012-10-24 18:32:37 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2012-10-24 18:32:37 +0000 |
commit | ef45823eba2c3cc9eddef926a233175fa6e7b969 (patch) | |
tree | 533ac3e065e91d464c2baf2d5603acf9c2de9504 /sys/vm/vm_fault.c | |
parent | bc79b37f2c911b81f09f9faebd1ce07e23519806 (diff) | |
download | src-ef45823eba2c3cc9eddef926a233175fa6e7b969.tar.gz src-ef45823eba2c3cc9eddef926a233175fa6e7b969.zip |
Commit the actual text provided by Alan, instead of the wrong update
in r242011.
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=242012
Diffstat (limited to 'sys/vm/vm_fault.c')
-rw-r--r-- | sys/vm/vm_fault.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index ceee8f5a14ea..ddc1119e1f65 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; |