Changeset View
Changeset View
Standalone View
Standalone View
sys/vm/vm_fault.c
Show First 20 Lines • Show All 267 Lines • ▼ Show 20 Lines | vm_fault_dirty(vm_map_entry_t entry, vm_page_t m, vm_prot_t prot, | ||||
* Also, since the page is now dirty, we can possibly tell | * Also, since the page is now dirty, we can possibly tell | ||||
* the pager to release any swap backing the page. Calling | * the pager to release any swap backing the page. Calling | ||||
* the pager requires a write lock on the object. | * the pager requires a write lock on the object. | ||||
*/ | */ | ||||
if (need_dirty) | if (need_dirty) | ||||
vm_page_dirty(m); | vm_page_dirty(m); | ||||
if (!excl) | if (!excl) | ||||
vm_page_unlock(m); | vm_page_unlock(m); | ||||
else if (need_dirty) | if (need_dirty) | ||||
kib: Can you split this change and tryupgrade in swap_pager_unswapped into separate review ? I… | |||||
vm_pager_page_unswapped(m); | vm_pager_page_unswapped(m); | ||||
} | } | ||||
/* | /* | ||||
* Unlocks fs.first_object and fs.map on success. | * Unlocks fs.first_object and fs.map on success. | ||||
*/ | */ | ||||
static int | static int | ||||
vm_fault_soft_fast(struct faultstate *fs, vm_offset_t vaddr, vm_prot_t prot, | vm_fault_soft_fast(struct faultstate *fs, vm_offset_t vaddr, vm_prot_t prot, | ||||
▲ Show 20 Lines • Show All 1,644 Lines • Show Last 20 Lines |
Can you split this change and tryupgrade in swap_pager_unswapped into separate review ? I think that introduction of lookup() and removal of SWM_POP is obviously good change, but it should not be mixed with locking logic.