Download raw body.
Towards killing uvm_km_kmemalloc_pla()
On Sun, Nov 09, 2025 at 10:44:51PM +0000, Martin Pieuchot wrote:
> 14 years later, the conversion to km_alloc(9) is almost finished. Diff
> below removes all dead code from uvm_km_kmemalloc_pla() to ease reviews
> and make it simpler to discuss the final conversion. It includes:
>
> - No behavior change
> - Remove unused arguments
> - Use `kmem_map' directly
> - Kill UVM_KMF_* flags and use UVM_FLAG_TRYLOCK where necessary
>
> Once applied we can easily see the remaining differences with
> km_alloc(9) internal which will help finding a consensus for the next
> step.
ok tb
One tiny comment below.
> Index: kern/kern_malloc.c
> ===================================================================
> RCS file: /cvs/src/sys/kern/kern_malloc.c,v
> diff -u -p -r1.155 kern_malloc.c
> --- kern/kern_malloc.c 12 Jun 2025 20:37:58 -0000 1.155
> +++ kern/kern_malloc.c 9 Nov 2025 22:27:57 -0000
> @@ -217,12 +217,9 @@ malloc(size_t size, int type, int flags)
> mtx_leave(&malloc_mtx);
> npg = atop(round_page(allocsize));
> s = splvm();
> - va = (caddr_t)uvm_km_kmemalloc_pla(kmem_map, NULL,
> - (vsize_t)ptoa(npg), 0,
> - ((flags & M_NOWAIT) ? UVM_KMF_NOWAIT : 0) |
> - ((flags & M_CANFAIL) ? UVM_KMF_CANFAIL : 0),
> - no_constraint.ucr_low, no_constraint.ucr_high,
> - 0, 0, 0);
> + va = (caddr_t)uvm_km_kmemalloc_pla((vsize_t)ptoa(npg),
> + (flags & (M_NOWAIT|M_CANFAIL)),
Not fussed, but I don't think the outer parentheses here help.
> + no_constraint.ucr_low, no_constraint.ucr_high);
> splx(s);
> if (va == NULL) {
> /*
Towards killing uvm_km_kmemalloc_pla()