Page MenuHomeFreeBSD
Feed Advanced Search

Oct 28 2024

dougm updated the diff for D46895: pctrie: unlock writes without smr.

Rebase.

Oct 28 2024, 9:46 PM
dougm committed rGb02d6a6b5a07: pctrie: reduce code duplication in PCTRIE_INSERT_* (authored by dougm).
pctrie: reduce code duplication in PCTRIE_INSERT_*
Oct 28 2024, 9:45 PM
dougm closed D47288: pctrie: reduce code duplication in PCTRIE_INSERT_*.
Oct 28 2024, 9:45 PM

Oct 27 2024

dougm accepted D47298: vm: Eliminate unnecessary lock asserts.
Oct 27 2024, 5:53 PM

Oct 26 2024

dougm updated the diff for D47036: vm_page: iterators in alloc_contig_domain.

Tweak the first loop in pctrie_iter_lookup_le to make it 2 whole bytes smaller. And, for the _ge version, one byte smaller.

Oct 26 2024, 7:31 PM
dougm updated the diff for D47036: vm_page: iterators in alloc_contig_domain.

Drop ..._iter_lookup_lt().

Oct 26 2024, 6:47 PM
dougm committed rG39f6d1e7f835: swap_pager: iter in haspage, lookup, getpages (authored by dougm).
swap_pager: iter in haspage, lookup, getpages
Oct 26 2024, 6:08 PM
dougm closed D47232: swap_pager: iter in haspage, lookup, getpages.
Oct 26 2024, 6:08 PM

Oct 25 2024

dougm committed rG0d965bc03428: subr_pctrie: improve iter nbr search (authored by dougm).
subr_pctrie: improve iter nbr search
Oct 25 2024, 10:02 PM
dougm closed D47207: subr_pctrie: improve iter nbr search.
Oct 25 2024, 10:02 PM
dougm requested review of D47288: pctrie: reduce code duplication in PCTRIE_INSERT_*.
Oct 25 2024, 9:56 PM
dougm committed rGf11a9f19b298: pctrie: drop meaningless neighbor check (authored by dougm).
pctrie: drop meaningless neighbor check
Oct 25 2024, 5:39 PM
dougm closed D47277: pctrie: drop meaningless neighbor check.
Oct 25 2024, 5:38 PM

Oct 24 2024

dougm committed rGfaa9356f97d2: swap_pager: fix seek_hole assert (authored by dougm).
swap_pager: fix seek_hole assert
Oct 24 2024, 11:09 PM
dougm committed rG02e85d1c8a41: swap_pager: fix assert in seek_data (authored by dougm).
swap_pager: fix assert in seek_data
Oct 24 2024, 11:05 PM
dougm closed D47278: swap_pager: fix assert in seek_data.
Oct 24 2024, 11:05 PM
dougm added a comment to D47278: swap_pager: fix assert in seek_data.

Jenkins says:
sys/fs/tmpfs/times_test:holey -> panic: Lock vmobject not exclusively locked @ /usr/src/sys/vm/swap_pager.c:2490

Oct 24 2024, 10:12 PM
dougm requested review of D47278: swap_pager: fix assert in seek_data.
Oct 24 2024, 10:11 PM
dougm added a reviewer for D47207: subr_pctrie: improve iter nbr search: bnovkov.
Oct 24 2024, 9:20 PM
dougm requested review of D47277: pctrie: drop meaningless neighbor check.
Oct 24 2024, 9:19 PM
dougm committed rGdb08b0b04dec: tmpfs_vnops: move swap work to swap_pager (authored by dougm).
tmpfs_vnops: move swap work to swap_pager
Oct 24 2024, 7:26 PM
dougm closed D47212: tmpfs_vnops: move swap work to swap_pager.
Oct 24 2024, 7:26 PM
dougm added inline comments to D47044: pctrie: Introduce batch pctrie insertion routines.
Oct 24 2024, 7:15 PM
dougm committed rG34951b0b9e78: swap_pager: move scan_all_shadowed, use iterators (authored by dougm).
swap_pager: move scan_all_shadowed, use iterators
Oct 24 2024, 2:33 AM
dougm closed D47150: swap_pager: move scan_all_shadowed, use pctrie iterators.
Oct 24 2024, 2:33 AM

Oct 23 2024

dougm requested review of D47271: pctrie: add function to transfer between pctries.
Oct 23 2024, 10:42 PM

Oct 22 2024

dougm committed rGe2414d91d33f: vfs_subr: maintain sorted tailq (authored by dougm).
vfs_subr: maintain sorted tailq
Oct 22 2024, 9:59 PM
dougm closed D47200: vfs_subr: maintain sorted tailq.
Oct 22 2024, 9:59 PM
dougm requested review of D47232: swap_pager: iter in haspage, lookup, getpages.
Oct 22 2024, 8:01 AM

Oct 21 2024

dougm added inline comments to D47150: swap_pager: move scan_all_shadowed, use pctrie iterators.
Oct 21 2024, 5:31 PM
dougm updated the diff for D47036: vm_page: iterators in alloc_contig_domain.

Do a bit of work around vm_page_grab.

Oct 21 2024, 10:21 AM
dougm requested review of D47212: tmpfs_vnops: move swap work to swap_pager.
Oct 21 2024, 10:07 AM
dougm updated the diff for D47036: vm_page: iterators in alloc_contig_domain.

Can't switch from _le to _lt in grab_pages.

Oct 21 2024, 4:58 AM
dougm updated the diff for D47036: vm_page: iterators in alloc_contig_domain.

Add and user lookup_iter_lt. Looking for the predecessor by starting by looking for the place where something will be inserted is a waste. Instead, start looking just before where something will be inserted; there's a change you'll find something there.

Oct 21 2024, 4:32 AM
dougm committed rGd2d0d6cb47c8: subr_pctrie: fix a comment (authored by dougm).
subr_pctrie: fix a comment
Oct 21 2024, 2:48 AM

Oct 20 2024

dougm requested review of D47207: subr_pctrie: improve iter nbr search.
Oct 20 2024, 4:57 AM

Oct 19 2024

dougm updated the diff for D47200: vfs_subr: maintain sorted tailq.

Drop an 'else' to fix a wraparound bug identified by @kib.

Oct 19 2024, 10:57 PM
dougm added inline comments to D47200: vfs_subr: maintain sorted tailq.
Oct 19 2024, 10:56 PM
dougm updated the diff for D47150: swap_pager: move scan_all_shadowed, use pctrie iterators.

Restore requested KASSERT.

Oct 19 2024, 10:50 PM
dougm added a comment to D47150: swap_pager: move scan_all_shadowed, use pctrie iterators.
In D47150#1076221, @kib wrote:

Remove suspicious assertion.

What was the assert? I can see only one case where it might be not true, when vm_map_entry_delete() calls collapse for kernel object. But this is definitely not the case for the Peter' backtrace.

Oct 19 2024, 10:49 PM
dougm added a comment to D47200: vfs_subr: maintain sorted tailq.
In D47200#1076225, @kib wrote:

What I proposed is close to the second option. But ok.

Oct 19 2024, 10:37 PM
dougm updated subscribers of D47200: vfs_subr: maintain sorted tailq.
Oct 19 2024, 10:36 PM
dougm added a reviewer for D46895: pctrie: unlock writes without smr: kib.
Oct 19 2024, 9:43 PM
dougm added a comment to D47200: vfs_subr: maintain sorted tailq.
In D47200#1076214, @kib wrote:

May be, instead, allow to specify type of the trie in the TRIE macros?

Oct 19 2024, 9:43 PM
dougm updated the diff for D47036: vm_page: iterators in alloc_contig_domain.

A bigger patch that uses iterators for vm_page_alloc_after and the functions it calls. Changes to vm_page_alloc are outside the range of this patch.

Oct 19 2024, 9:28 PM
dougm committed rG6d42d5dbdd67: vm_glue: use vm_page_alloc_domain_after (authored by dougm).
vm_glue: use vm_page_alloc_domain_after
Oct 19 2024, 8:25 PM
dougm closed D47054: vm_glue: use vm_page_alloc_domain_after.
Oct 19 2024, 8:25 PM
dougm updated the diff for D46895: pctrie: unlock writes without smr.

Avoid an extra node_load in pctrie_insert_node by passing the node argument to it. Break pctrie_init_node out of pctrie_insert_node, in anticipation of batch insertion.

Oct 19 2024, 7:23 PM
dougm updated the diff for D47036: vm_page: iterators in alloc_contig_domain.

Restore passing mpred to vm_page_iter_insert.

Oct 19 2024, 5:53 PM
dougm added a comment to D47200: vfs_subr: maintain sorted tailq.

Addresses this bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282134

Oct 19 2024, 5:14 PM
dougm requested review of D47200: vfs_subr: maintain sorted tailq.
Oct 19 2024, 5:08 PM

Oct 18 2024

dougm updated the test plan for D47114: vm_grab_pages_unlocked: read all the pages at once.
Oct 18 2024, 8:41 AM
dougm updated the diff for D47150: swap_pager: move scan_all_shadowed, use pctrie iterators.

Remove unrelated change included by accident.

Oct 18 2024, 8:11 AM
dougm updated the diff for D47150: swap_pager: move scan_all_shadowed, use pctrie iterators.

Remove suspicious assertion.

Oct 18 2024, 8:08 AM
dougm updated the diff for D47150: swap_pager: move scan_all_shadowed, use pctrie iterators.

Rewrote some parts with perhaps a better understanding of what the busy/unbusy parts are intended to do.

Oct 18 2024, 2:15 AM

Oct 17 2024

dougm added inline comments to D47150: swap_pager: move scan_all_shadowed, use pctrie iterators.
Oct 17 2024, 8:26 PM
dougm updated the diff for D47150: swap_pager: move scan_all_shadowed, use pctrie iterators.

Add an assertion.

Oct 17 2024, 8:17 PM
dougm added inline comments to D47150: swap_pager: move scan_all_shadowed, use pctrie iterators.
Oct 17 2024, 8:00 PM
dougm added inline comments to D47044: pctrie: Introduce batch pctrie insertion routines.
Oct 17 2024, 8:36 AM
dougm updated subscribers of D46895: pctrie: unlock writes without smr.
Oct 17 2024, 7:54 AM
dougm updated the diff for D47150: swap_pager: move scan_all_shadowed, use pctrie iterators.
Oct 17 2024, 3:04 AM
dougm added inline comments to D47150: swap_pager: move scan_all_shadowed, use pctrie iterators.
Oct 17 2024, 3:03 AM

Oct 16 2024

dougm updated the diff for D47114: vm_grab_pages_unlocked: read all the pages at once.

Add a comment in grab_pages_unlocked.

Oct 16 2024, 10:36 PM
dougm added inline comments to D47114: vm_grab_pages_unlocked: read all the pages at once.
Oct 16 2024, 10:27 PM
dougm added a reviewer for D47150: swap_pager: move scan_all_shadowed, use pctrie iterators: kib.
Oct 16 2024, 6:38 AM
dougm requested review of D47150: swap_pager: move scan_all_shadowed, use pctrie iterators.
Oct 16 2024, 6:38 AM

Oct 15 2024

dougm requested review of D47114: vm_grab_pages_unlocked: read all the pages at once.
Oct 15 2024, 8:19 AM
dougm committed rG4a983f05d98b: vm_page: move tailq validation to grab_pages (authored by dougm).
vm_page: move tailq validation to grab_pages
Oct 15 2024, 4:38 AM
dougm closed D47001: vm_page: separate validated from unlocked lookup.
Oct 15 2024, 4:37 AM

Oct 14 2024

dougm updated the diff for D47001: vm_page: separate validated from unlocked lookup.

Restore the name vm_page_acquire_unlocked and have it do the looping. Drop the enums.

Oct 14 2024, 6:14 PM
dougm committed rG2c8caa4b3925: vfs_subr: optimize inval_buf_range (authored by dougm).
vfs_subr: optimize inval_buf_range
Oct 14 2024, 5:12 PM
dougm closed D46963: vfs_subr: optimize inval_buf_range.
Oct 14 2024, 5:12 PM
dougm updated the diff for D46895: pctrie: unlock writes without smr.

Since the insert_lookup functions now never actually insert anything they don't have to have a uint64_t* argument that might get inserted, they only need a uint64_t argument for the lookup. Make that change.

Oct 14 2024, 5:03 PM

Oct 13 2024

dougm updated the diff for D46963: vfs_subr: optimize inval_buf_range.

Copy what bnoreuselist() does to handle the problem with LOOKUP_GE results, which is more robust than what I did before.

Oct 13 2024, 11:51 PM
dougm updated the diff for D46963: vfs_subr: optimize inval_buf_range.

Restore the pctrie lookup. Add a check for negative block number. Passes mmap28.sh and truncate3.sh tests.

Oct 13 2024, 10:49 PM
dougm updated the diff for D46895: pctrie: unlock writes without smr.

Where this change causes a couple of functions to only be invoked with parameter access == PCTRIE_UNSYNCHRONIZED, drop that parameter.

Oct 13 2024, 9:10 PM
dougm updated the diff for D46895: pctrie: unlock writes without smr.

Pull the locked stores out of subr_pctrie.c and leave them for inline functions in pctrie.h to perform, with whatever synchronization type is appropriate.

Oct 13 2024, 8:15 PM
dougm added inline comments to D45394: pctrie: add combined insert/lookup operations.
Oct 13 2024, 4:16 AM

Oct 12 2024

dougm updated the diff for D47036: vm_page: iterators in alloc_contig_domain.
Oct 12 2024, 11:41 PM
dougm updated the diff for D47036: vm_page: iterators in alloc_contig_domain.
Oct 12 2024, 10:14 PM
dougm added inline comments to D45394: pctrie: add combined insert/lookup operations.
Oct 12 2024, 9:30 PM
dougm updated the diff for D47036: vm_page: iterators in alloc_contig_domain.

Define functions to bundle prepare, insert, cleanup and finish.

Oct 12 2024, 7:36 PM

Oct 11 2024

dougm added a comment to D46895: pctrie: unlock writes without smr.

As a hack for x86, can we simply use an ifdef to merge the locked and unserialized cases in pctrie_node_store()?

Oct 11 2024, 6:34 PM
dougm committed rG1107834090be: swap_pager: swapoff detecting object death (authored by dougm).
swap_pager: swapoff detecting object death
Oct 11 2024, 5:49 PM
dougm closed D47064: swap_pager: swapoff detecting object death.
Oct 11 2024, 5:48 PM
dougm updated the diff for D47064: swap_pager: swapoff detecting object death.

Add a not-dead kassert.

Oct 11 2024, 5:12 PM
dougm added inline comments to D47064: swap_pager: swapoff detecting object death.
Oct 11 2024, 5:08 PM
dougm added inline comments to D46724: vm_object: use pciters to remove pages.
Oct 11 2024, 5:00 PM
dougm updated the diff for D46724: vm_object: use pciters to remove pages.

Reorder deletion and tree removal in vm_object_split.

Oct 11 2024, 4:59 PM
dougm requested review of D47064: swap_pager: swapoff detecting object death.
Oct 11 2024, 4:39 PM
dougm requested review of D47054: vm_glue: use vm_page_alloc_domain_after.
Oct 11 2024, 7:24 AM
dougm added a comment to D47044: pctrie: Introduce batch pctrie insertion routines.

This is more complex than initializing and iterator and using it to insert consecutive elements. How have you measured its performance and cache-friendliness in comparison to that simpler implementation?

Oct 11 2024, 6:15 AM

Oct 10 2024

dougm updated the diff for D47036: vm_page: iterators in alloc_contig_domain.

Set page fields before insertion, and clear them when insertion fails.

Oct 10 2024, 11:17 PM
dougm reopened D46963: vfs_subr: optimize inval_buf_range.
Oct 10 2024, 9:59 PM
dougm updated the diff for D46963: vfs_subr: optimize inval_buf_range.

Don't use pctrie lookup to find the first block to scan; just use linear search. Using pctrie lookup leads to two crashes (truncate3.sh, mmap28.sh) on stress tests, and this version passes those tests. I guess there are items in the list not in the trie?

Oct 10 2024, 9:58 PM
dougm updated the diff for D46724: vm_object: use pciters to remove pages.

Update after vm_radix.h changes.

Oct 10 2024, 4:23 PM
dougm updated the diff for D47036: vm_page: iterators in alloc_contig_domain.

Add definition of vm_radix_iter_lookup_le. I thought I had added it to a vm_radix patch just committed, but apparently I had not.

Oct 10 2024, 4:12 PM
dougm committed rGc71c41da618a: vm_radix: add iter insert and remove interfaces (authored by dougm).
vm_radix: add iter insert and remove interfaces
Oct 10 2024, 4:09 PM
dougm closed D47021: vm_radix: add iter insert and remove interfaces.
Oct 10 2024, 4:09 PM
dougm committed rGff2263469ad0: Revert "vfs_subr: optimize inval_buf_range" (authored by dougm).
Revert "vfs_subr: optimize inval_buf_range"
Oct 10 2024, 10:47 AM