Page MenuHomeFreeBSD

dougm (Doug Moore)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 30 2017, 3:18 PM (405 w, 6 d)

Tauist. Bit twiddler. Advocate for continued logarithms.

Recent Activity

Today

dougm updated the diff for D49688: vm_page: uses iterators in page allocaction.

Rebase.

Thu, Apr 10, 7:37 AM
dougm committed rGf06cbfc5592e: vm_fault: use iterator for allocation (authored by dougm).
vm_fault: use iterator for allocation
Thu, Apr 10, 7:20 AM
dougm closed D49741: vm_fault: use iterator for allocation.
Thu, Apr 10, 7:20 AM
dougm committed rG14efeab6adba: vm_grab: reset iter after alloc failure (authored by dougm).
vm_grab: reset iter after alloc failure
Thu, Apr 10, 7:10 AM
dougm closed D49755: vm_grab: reset iter after alloc failure.
Thu, Apr 10, 7:10 AM
dougm added a comment to D49755: vm_grab: reset iter after alloc failure.

Fixes: 7becd87c988c ("vm_grab: use iterator for grab lookup")

Thu, Apr 10, 6:50 AM
dougm requested review of D49755: vm_grab: reset iter after alloc failure.
Thu, Apr 10, 6:48 AM

Yesterday

dougm updated the diff for D49741: vm_fault: use iterator for allocation.
Wed, Apr 9, 6:29 PM
dougm added a comment to D49688: vm_page: uses iterators in page allocaction.

D49741 has just the vm_fault.c changes added to the latest update here, so that it can be reviewed separately.

Wed, Apr 9, 6:04 PM
dougm requested review of D49741: vm_fault: use iterator for allocation.
Wed, Apr 9, 6:02 PM
dougm updated the diff for D49688: vm_page: uses iterators in page allocaction.

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.

Wed, Apr 9, 5:49 PM

Tue, Apr 8

dougm updated the diff for D49688: vm_page: uses iterators in page allocaction.

Apply some suggestions from @bnovkov

Tue, Apr 8, 7:44 AM

Sun, Apr 6

dougm updated the summary of D49688: vm_page: uses iterators in page allocaction.
Sun, Apr 6, 6:43 PM
dougm requested review of D49688: vm_page: uses iterators in page allocaction.
Sun, Apr 6, 6:40 PM

Tue, Apr 1

dougm closed D49371: vm_grab: use iterator for grab lookup.
Tue, Apr 1, 6:11 AM
dougm committed rG7becd87c988c: vm_grab: use iterator for grab lookup (authored by dougm).
vm_grab: use iterator for grab lookup
Tue, Apr 1, 6:11 AM

Mon, Mar 31

dougm committed rGb68c7ebf5e63: vm_reserv: extract common gap-checking code (authored by dougm).
vm_reserv: extract common gap-checking code
Mon, Mar 31, 4:02 AM
dougm closed D49460: vm_reserv: extract common gap-checking code.
Mon, Mar 31, 4:02 AM

Sun, Mar 30

dougm updated the diff for D49460: vm_reserv: extract common gap-checking code.

Update comments.

Sun, Mar 30, 5:57 PM

Fri, Mar 28

dougm updated the diff for D49460: vm_reserv: extract common gap-checking code.

Rename the function and de-inline it. Modify comments.

Fri, Mar 28, 10:17 PM
dougm removed reviewers for D49391: vm_grab: assert no VM_ALLOC_WAITFAIL: kib, markj.
Fri, Mar 28, 10:02 PM
dougm committed rG93c4f310fc65: vm_fault: correct mpred update after alloc fail (authored by dougm).
vm_fault: correct mpred update after alloc fail
Fri, Mar 28, 7:05 AM
dougm closed D49547: vm_fault: correct mpred update after alloc fail.
Fri, Mar 28, 7:05 AM
dougm requested review of D49547: vm_fault: correct mpred update after alloc fail.
Fri, Mar 28, 12:27 AM

Thu, Mar 27

dougm committed rG6d6c97fb72a7: vm_fault: update pred lock acq in copy_entry (authored by dougm).
vm_fault: update pred lock acq in copy_entry
Thu, Mar 27, 10:41 AM
dougm closed D49521: vm_fault: update page pred after lock rel/acq in copy_entry.
Thu, Mar 27, 10:41 AM

Wed, Mar 26

dougm updated the diff for D49521: vm_fault: update page pred after lock rel/acq in copy_entry.

Update the correct variable.

Wed, Mar 26, 5:07 PM
dougm updated the diff for D49521: vm_fault: update page pred after lock rel/acq in copy_entry.

Sorry, that was all to complicated. Simplify.

Wed, Mar 26, 5:00 PM
dougm updated the diff for D49521: vm_fault: update page pred after lock rel/acq in copy_entry.

Don't break pindex.

Wed, Mar 26, 4:47 PM
dougm requested review of D49521: vm_fault: update page pred after lock rel/acq in copy_entry.
Wed, Mar 26, 4:27 PM

Tue, Mar 25

dougm added inline comments to D49371: vm_grab: use iterator for grab lookup.
Tue, Mar 25, 8:45 AM
dougm updated the diff for D49371: vm_grab: use iterator for grab lookup.

Accept suggestions from @kib.

Tue, Mar 25, 8:45 AM
dougm updated the diff for D49371: vm_grab: use iterator for grab lookup.

Apply suggestions from @kib.

Tue, Mar 25, 5:16 AM
dougm added inline comments to D49480: vm_page: Allow PG_NOFREE pages to be freed.
Tue, Mar 25, 2:56 AM
dougm updated the diff for D49371: vm_grab: use iterator for grab lookup.

Apply suggested comment edit.

Tue, Mar 25, 1:27 AM
dougm updated the diff for D49460: vm_reserv: extract common gap-checking code.

Edit function header comment slightly.

Tue, Mar 25, 12:54 AM

Mon, Mar 24

dougm updated the diff for D49460: vm_reserv: extract common gap-checking code.

Seek to improve the function name and header comment.

Mon, Mar 24, 11:52 PM
dougm added inline comments to D49460: vm_reserv: extract common gap-checking code.
Mon, Mar 24, 11:43 PM
dougm updated the diff for D49371: vm_grab: use iterator for grab lookup.

Add a *found parameter to vm_page_grab_lookup to distinguish found-but-sleep cases from not-found cases.

Mon, Mar 24, 4:33 AM
dougm updated the diff for D49371: vm_grab: use iterator for grab lookup.

In vm_page_grab, if VM_ALLOC_WAITFAIL is set in allocflags and vm_page_grab_lookup returns NULL, return NULL.

Mon, Mar 24, 4:06 AM
dougm updated the diff for D49371: vm_grab: use iterator for grab lookup.

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.

Mon, Mar 24, 3:42 AM
dougm updated the diff for D49460: vm_reserv: extract common gap-checking code.

Add/restore some comments.

Mon, Mar 24, 3:32 AM
dougm committed rG626ec04c2b84: vm_reserv: clarify reserv_from_object (authored by dougm).
vm_reserv: clarify reserv_from_object
Mon, Mar 24, 3:22 AM
dougm closed D49415: vm_reserv: clarify reserv_from_object.
Mon, Mar 24, 3:22 AM

Sun, Mar 23

dougm added a comment to D49391: vm_grab: assert no VM_ALLOC_WAITFAIL.

The functional portion of the change seems fine, but I'm not sure why it's a problem for vm_page_grab* to support VM_ALLOC_WAITFAIL?

Because in comments on D49371, @kib suggested that VM_ALLOC_WAITFAIL was invalid here. So, to remove that obstacle to getting D49371 approved, I investigated and found that he might be right. Now, @alc has verbally placed a hold on this change because, when he is freed from another task, he plans to look for other illegal allocflag settings.

My reading of the comments is that kib is pointing out a bug in the new code.

Sun, Mar 23, 11:36 PM
dougm added inline comments to D49460: vm_reserv: extract common gap-checking code.
Sun, Mar 23, 11:24 PM
dougm added a comment to D49415: vm_reserv: clarify reserv_from_object.

Doesn't this leave msucc uninitialized in vm_reserv_from_object()'s callers?

Only if the function returns a non-NULL value.

Sun, Mar 23, 10:41 PM
dougm requested review of D49460: vm_reserv: extract common gap-checking code.
Sun, Mar 23, 5:36 PM
dougm added reviewers for D49415: vm_reserv: clarify reserv_from_object: markj, kib.
Sun, Mar 23, 5:26 PM
dougm updated the diff for D49391: vm_grab: assert no VM_ALLOC_WAITFAIL.

Apply @markj comments.

Sun, Mar 23, 5:16 PM
dougm added a comment to D49391: vm_grab: assert no VM_ALLOC_WAITFAIL.

The functional portion of the change seems fine, but I'm not sure why it's a problem for vm_page_grab* to support VM_ALLOC_WAITFAIL?

Sun, Mar 23, 5:14 PM
dougm accepted D49443: vm_object: Fix handling of wired map entries in vm_object_split().

Thanks for the clarifications. Looks okay to me.

Sun, Mar 23, 4:15 AM

Sat, Mar 22

dougm added inline comments to D49443: vm_object: Fix handling of wired map entries in vm_object_split().
Sat, Mar 22, 6:13 AM

Fri, Mar 21

dougm added inline comments to D49443: vm_object: Fix handling of wired map entries in vm_object_split().
Fri, Mar 21, 6:25 PM

Wed, Mar 19

dougm requested review of D49415: vm_reserv: clarify reserv_from_object.
Wed, Mar 19, 10:33 PM

Mon, Mar 17

dougm updated the diff for D49371: vm_grab: use iterator for grab lookup.

Update after (expected) checkin of D49391.

Mon, Mar 17, 11:20 PM
dougm updated the diff for D49391: vm_grab: assert no VM_ALLOC_WAITFAIL.

Further correct the page allocation parameter comments of vm_page.h, guided by @alc. Add a func parameter to vm_page_grab_check.

Mon, Mar 17, 7:58 PM
dougm updated the diff for D49391: vm_grab: assert no VM_ALLOC_WAITFAIL.

Correct a couple of vm allocflags annotations in readcli.h.

Mon, Mar 17, 7:19 AM
dougm updated the diff for D49391: vm_grab: assert no VM_ALLOC_WAITFAIL.

Apply @alc suggestion for func in KASSERTS in vm_page_grab_check().

Mon, Mar 17, 6:18 AM

Sun, Mar 16

dougm updated the diff for D49391: vm_grab: assert no VM_ALLOC_WAITFAIL.

Address @kib comments.

Sun, Mar 16, 8:05 PM
dougm requested review of D49391: vm_grab: assert no VM_ALLOC_WAITFAIL.
Sun, Mar 16, 6:15 AM

Sat, Mar 15

dougm updated the diff for D49371: vm_grab: use iterator for grab lookup.

In vm_page_grab_lookup, use the iterator for the lookup. Duh.

Sat, Mar 15, 6:53 AM
dougm requested review of D49371: vm_grab: use iterator for grab lookup.
Sat, Mar 15, 4:19 AM
dougm committed rGb82d7897595d: vm_object: add getpages utility (authored by dougm).
vm_object: add getpages utility
Sat, Mar 15, 2:46 AM
dougm closed D49224: vm_object: add getpages utility.
Sat, Mar 15, 2:45 AM

Fri, Mar 14

dougm updated the diff for D49224: vm_object: add getpages utility.

Apply suggestions from @alc. I expect to commit it tonight, so further comments should be made promptly.

Fri, Mar 14, 9:48 PM
dougm added inline comments to D49224: vm_object: add getpages utility.
Fri, Mar 14, 9:28 AM
dougm added inline comments to D49224: vm_object: add getpages utility.
Fri, Mar 14, 6:49 AM

Thu, Mar 13

dougm abandoned D49340: swap_pager: remove assert to allow unlocked init.
Thu, Mar 13, 5:54 AM
dougm requested review of D49340: swap_pager: remove assert to allow unlocked init.
Thu, Mar 13, 4:56 AM

Wed, Mar 12

dougm updated the diff for D49224: vm_object: add getpages utility.

Undo a fatal line-swap from the last version.

Wed, Mar 12, 10:48 PM
dougm added inline comments to D49224: vm_object: add getpages utility.
Wed, Mar 12, 10:47 PM
dougm added inline comments to D49224: vm_object: add getpages utility.
Wed, Mar 12, 7:30 PM
dougm updated the diff for D49224: vm_object: add getpages utility.

Apply @alc suggestions.

Wed, Mar 12, 7:30 PM
dougm requested review of D49330: vnode_pager: use ptoa().
Wed, Mar 12, 6:07 PM
dougm added inline comments to D49224: vm_object: add getpages utility.
Wed, Mar 12, 5:52 PM
dougm updated the diff for D49224: vm_object: add getpages utility.

Rewrite a comment. Take some suggestions from @kib, adapt some others. Rename the new function - though still need a better name.

Wed, Mar 12, 5:52 PM
dougm updated the diff for D49224: vm_object: add getpages utility.

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.

Wed, Mar 12, 10:05 AM

Mar 10 2025

dougm updated the diff for D49224: vm_object: add getpages utility.

Move the umz_zfree() in swap_pager_swapoff() to past the last backjumping goto.

Mar 10 2025, 3:05 AM

Mar 9 2025

dougm updated the diff for D49224: vm_object: add getpages utility.

The latest version has held up under a few hours of stress testing. Drop the handling of NULL parameters from vm_object_getpages().

Mar 9 2025, 7:56 PM
dougm updated the diff for D49224: vm_object: add getpages utility.

Allocate the struct buf for swap_pager_getpages_locked early.

Mar 9 2025, 1:45 PM
dougm added inline comments to D49224: vm_object: add getpages utility.
Mar 9 2025, 10:02 AM

Mar 8 2025

dougm updated the diff for D49224: vm_object: add getpages utility.

Fix comments.

Mar 8 2025, 9:37 PM
dougm added inline comments to D49224: vm_object: add getpages utility.
Mar 8 2025, 8:58 PM
dougm retitled D49224: vm_object: add getpages utility from vm_object: add readbehind, readahead utilities to vm_object: add getpages utility.
Mar 8 2025, 8:58 PM
dougm updated the diff for D49224: vm_object: add getpages utility.

Combine the two vm_object functions into one. Add assertions.

Mar 8 2025, 8:51 PM

Mar 6 2025

dougm updated the diff for D49224: vm_object: add getpages utility.
Mar 6 2025, 6:11 AM

Mar 4 2025

dougm closed D49207: vm_object: don't reset new iterator.
Mar 4 2025, 5:36 AM
dougm committed rGc6c63b92effd: vm_object: don't reset new iterator (authored by dougm).
vm_object: don't reset new iterator
Mar 4 2025, 5:36 AM
dougm requested review of D49224: vm_object: add getpages utility.
Mar 4 2025, 1:42 AM

Mar 3 2025

dougm updated the diff for D49207: vm_object: don't reset new iterator.

After some goto targets, assert that the iterators have been reset.

Mar 3 2025, 6:26 PM
dougm requested review of D49207: vm_object: don't reset new iterator.
Mar 3 2025, 6:47 AM
dougm committed rG991dbf9f4327: vm_page: drop page_iter_lookup (authored by dougm).
vm_page: drop page_iter_lookup
Mar 3 2025, 12:07 AM
dougm closed D49203: vm_page: drop page_iter_lookup.
Mar 3 2025, 12:06 AM

Mar 2 2025

dougm requested review of D49203: vm_page: drop page_iter_lookup.
Mar 2 2025, 9:40 PM
dougm committed rG420e2f8a74df: vnode_pager: simplify loop, avoid overflow (authored by dougm).
vnode_pager: simplify loop, avoid overflow
Mar 2 2025, 8:15 AM
dougm closed D49200: vnode_pager: simplify loop, avoid overflow.
Mar 2 2025, 8:14 AM
dougm requested review of D49200: vnode_pager: simplify loop, avoid overflow.
Mar 2 2025, 1:11 AM

Feb 27 2025

dougm updated the diff for D48007: vm_object: drop memq field.

Rebase.

Feb 27 2025, 6:13 PM
dougm committed rG6b33d9dc46c2: vm_page: expose page_alloc_after (authored by dougm).
vm_page: expose page_alloc_after
Feb 27 2025, 4:57 PM