User Details
- User Since
- Jan 29 2022, 5:50 PM (129 w, 6 d)
Thu, Jul 25
Address @alc 's comments.
The bump allocator state was moved to struct vm_domain.
I was not entirely sure where to place the nofreeq struct within struct vm_domain, so please let me know if you think there's a better position w.r.t. cache usage.
Wed, Jul 24
Mon, Jul 22
Sun, Jul 21
Wed, Jul 17
Mon, Jul 15
Sun, Jul 14
Fri, Jul 12
Thu, Jul 4
Wed, Jul 3
Thanks, your answers clear things up! I had an incomplete overview of the issue, I see now that its best too keep VM_FREEPOOL_DIRECT.
Tue, Jul 2
Jun 16 2024
Address @kib 's comments.
Jun 13 2024
Jun 9 2024
Regenerate diff.
Jun 7 2024
Jun 5 2024
I spent some time evaluating this patch with four different metrics (thanks @markj for the first two):
- Number of reservations with at least one NOFREE page
- Number of reservations with at least one UMA slab, excluding NOFREE slabs
- vm.pde.promotions
- vm.pde.mappings
Update vm_reserv_uma_small_alloc to retry if someone else filled up a partial reservation.
May 27 2024
May 26 2024
May 25 2024
Looks good!
May 20 2024
Address @kib 's comment - unmanaged reservations are now distinguished using an invalid vm_object value instead of a separate variable.
May 18 2024
Update patch.
Update patch and summary.
Reworked patch and updated summary.
May 13 2024
Address multiple comments:
- enabled UMA_MD_SMALL_ALLOC unconditionally
- removed redundant include guard in ppc uma_machdep
- removed obsolete u_int8_t types
May 12 2024
May 11 2024
Remove redundant m == NULL check.
Simplify vm_thread_stack_back page allocation loop.
May 8 2024
Add missing arm vmparam.h updates.
May 3 2024
Removed stray UMA code from diff.
Address @markj 's comment - uma_small_alloc code deduplication was carved out into a separate revision.
May 2 2024
M_NOFREE was already taken by sys/mbuf.h, M_NEVERFREED is one of the alternative names proposed by @alc .
May 1 2024
Apr 30 2024
Apr 10 2024
Apr 8 2024
As promised, I've removed some redundant bits from the patch, it should be a bit clearer now.
Regenerate and simplify patch.
Apr 7 2024
Apr 4 2024
Address @markj 's comments and fix a couple of issues:
- Certain kstack KVA chunks were released back to the parent arena with improper alignment, causing vmem_xfree to panic
- swapping in thread kstacks triggered a panic as the former code relied on vm_page_grab_pages
Apr 3 2024
Sorry for the delay, @markj reported a panic when booting this patch on a NUMA machine and it took me a while to set up a NUMA environment and properly fix the issue.