Tauist. Bit twiddler. Advocate for continued logarithms.
User Details
- User Since
- Jun 30 2017, 3:18 PM (405 w, 6 d)
Today
Rebase.
Fixes: 7becd87c988c ("vm_grab: use iterator for grab lookup")
Yesterday
D49741 has just the vm_fault.c changes added to the latest update here, so that it can be reviewed separately.
Add an iterator to the vm_fault.c code that leads to page allocation, so that the failed lookup is saved in the iterator and not repeated in the allocation call. Testing suggests that this reduces cycle count for page allocation.
Tue, Apr 8
Apply some suggestions from @bnovkov
Sun, Apr 6
Tue, Apr 1
Mon, Mar 31
Sun, Mar 30
Update comments.
Fri, Mar 28
Rename the function and de-inline it. Modify comments.
Thu, Mar 27
Wed, Mar 26
Update the correct variable.
Sorry, that was all to complicated. Simplify.
Don't break pindex.
Tue, Mar 25
Accept suggestions from @kib.
Apply suggestions from @kib.
Apply suggested comment edit.
Edit function header comment slightly.
Mon, Mar 24
Seek to improve the function name and header comment.
Add a *found parameter to vm_page_grab_lookup to distinguish found-but-sleep cases from not-found cases.
In vm_page_grab, if VM_ALLOC_WAITFAIL is set in allocflags and vm_page_grab_lookup returns NULL, return NULL.
Backing out the last update to the patch, since I've evidently completely failed to understand @kib's concerns, and so won't try to eliminate the WAITFAIL case from page grabbing.
Add/restore some comments.
Sun, Mar 23
Only if the function returns a non-NULL value.
Apply @markj comments.
Thanks for the clarifications. Looks okay to me.
Sat, Mar 22
Fri, Mar 21
Wed, Mar 19
Mon, Mar 17
Update after (expected) checkin of D49391.
Further correct the page allocation parameter comments of vm_page.h, guided by @alc. Add a func parameter to vm_page_grab_check.
Correct a couple of vm allocflags annotations in readcli.h.
Apply @alc suggestion for func in KASSERTS in vm_page_grab_check().
Sun, Mar 16
Address @kib comments.
Sat, Mar 15
In vm_page_grab_lookup, use the iterator for the lookup. Duh.
Fri, Mar 14
Apply suggestions from @alc. I expect to commit it tonight, so further comments should be made promptly.
Thu, Mar 13
Wed, Mar 12
Undo a fatal line-swap from the last version.
Apply @alc suggestions.
Rewrite a comment. Take some suggestions from @kib, adapt some others. Rename the new function - though still need a better name.
Let vm_object_getpages() do the copying of the pages between the borders, even though it happens with a lock held when that's not strictly necessary.
Mar 10 2025
Move the umz_zfree() in swap_pager_swapoff() to past the last backjumping goto.
Mar 9 2025
The latest version has held up under a few hours of stress testing. Drop the handling of NULL parameters from vm_object_getpages().
Allocate the struct buf for swap_pager_getpages_locked early.
Mar 8 2025
Combine the two vm_object functions into one. Add assertions.
Mar 6 2025
Mar 4 2025
Mar 3 2025
After some goto targets, assert that the iterators have been reset.