Date: Sat, 25 May 2024 20:27:29 +0200 From: tuexen@fh-muenster.de To: =?utf-8?Q?Bojan_Novkovi=C4=87?= <bnovkov@freebsd.org> Cc: "src-committers@freebsd.org" <src-committers@FreeBSD.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@FreeBSD.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org> Subject: Re: git: da76d349b6b1 - main - uma: Deduplicate uma_small_alloc Message-ID: <CEE600C9-BA44-4852-8537-EB70F299AA67@fh-muenster.de> In-Reply-To: <202405251725.44PHPCSK026644@gitrepo.freebsd.org> References: <202405251725.44PHPCSK026644@gitrepo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_576BEDC6-D888-4C3A-82B9-E9B6340CFA63 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On 25. May 2024, at 19:25, Bojan Novkovi=C4=87 <bnovkov@freebsd.org> = wrote: >=20 > The branch main has been updated by bnovkov: With this commit, my arm64 VM (VMWare Fusion) stops booting right after printing the line WARNING: WITNESS option enabled, expect reduced performance. Same when doing a verbose boot. Best regards Michael >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dda76d349b6b104f4e70562304c800a07= 93dea18d >=20 > commit da76d349b6b104f4e70562304c800a0793dea18d > Author: Bojan Novkovi=C4=87 <bnovkov@FreeBSD.org> > AuthorDate: 2024-05-03 16:48:18 +0000 > Commit: Bojan Novkovi=C4=87 <bnovkov@FreeBSD.org> > CommitDate: 2024-05-25 17:24:46 +0000 >=20 > uma: Deduplicate uma_small_alloc >=20 > This commit refactors the UMA small alloc code and > removes most UMA machine-dependent code. > The existing machine-dependent uma_small_alloc code is almost = identical > across all architectures, except for powerpc where using the direct > map addresses involved extra steps in some cases. >=20 > The MI/MD split was replaced by a default uma_small_alloc > implementation that can be overridden by architecture-specific code = by > defining the UMA_MD_SMALL_ALLOC symbol. Furthermore, UMA_USE_DMAP = was > introduced to replace most UMA_MD_SMALL_ALLOC uses. >=20 > Reviewed by: markj, kib > Approved by: markj (mentor) > Differential Revision: https://reviews.freebsd.org/D45084 > --- > sys/amd64/amd64/uma_machdep.c | 71 = ------------------------------------------- > sys/amd64/include/vmparam.h | 6 ++-- > sys/arm64/arm64/uma_machdep.c | 69 = ----------------------------------------- > sys/arm64/include/vmparam.h | 2 +- > sys/conf/files.amd64 | 1 - > sys/conf/files.arm64 | 1 - > sys/conf/files.riscv | 1 - > sys/kern/subr_vmem.c | 6 ++-- > sys/powerpc/include/vmparam.h | 6 ++-- > sys/riscv/include/vmparam.h | 2 +- > sys/riscv/riscv/uma_machdep.c | 68 = ----------------------------------------- > sys/vm/uma_core.c | 43 ++++++++++++++++++++++++-- > sys/vm/vm_map.c | 8 ++--- > sys/vm/vm_radix.c | 2 +- > 14 files changed, 57 insertions(+), 229 deletions(-) >=20 > diff --git a/sys/amd64/amd64/uma_machdep.c = b/sys/amd64/amd64/uma_machdep.c > deleted file mode 100644 > index f83f0674cc4e..000000000000 > --- a/sys/amd64/amd64/uma_machdep.c > +++ /dev/null > @@ -1,71 +0,0 @@ > -/*- > - * SPDX-License-Identifier: BSD-2-Clause > - * > - * Copyright (c) 2003 Alan L. Cox <alc@cs.rice.edu> > - * All rights reserved. > - * > - * Redistribution and use in source and binary forms, with or without > - * modification, are permitted provided that the following conditions > - * are met: > - * 1. Redistributions of source code must retain the above copyright > - * notice, this list of conditions and the following disclaimer. > - * 2. Redistributions in binary form must reproduce the above = copyright > - * notice, this list of conditions and the following disclaimer in = the > - * documentation and/or other materials provided with the = distribution. > - * > - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' = AND > - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, = THE > - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR = PURPOSE > - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE = LIABLE > - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR = CONSEQUENTIAL > - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE = GOODS > - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS = INTERRUPTION) > - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN = CONTRACT, STRICT > - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN = ANY WAY > - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE = POSSIBILITY OF > - * SUCH DAMAGE. > - */ > - > -#include <sys/param.h> > -#include <sys/malloc.h> > -#include <vm/vm.h> > -#include <vm/vm_param.h> > -#include <vm/vm_page.h> > -#include <vm/vm_phys.h> > -#include <vm/vm_dumpset.h> > -#include <vm/uma.h> > -#include <vm/uma_int.h> > -#include <machine/md_var.h> > - > -void * > -uma_small_alloc(uma_zone_t zone, vm_size_t bytes, int domain, = u_int8_t *flags, > - int wait) > -{ > - vm_page_t m; > - vm_paddr_t pa; > - void *va; > - > - *flags =3D UMA_SLAB_PRIV; > - m =3D vm_page_alloc_noobj_domain(domain, malloc2vm_flags(wait) | > - VM_ALLOC_WIRED); > - if (m =3D=3D NULL) > - return (NULL); > - pa =3D m->phys_addr; > - if ((wait & M_NODUMP) =3D=3D 0) > - dump_add_page(pa); > - va =3D (void *)PHYS_TO_DMAP(pa); > - return (va); > -} > - > -void > -uma_small_free(void *mem, vm_size_t size, u_int8_t flags) > -{ > - vm_page_t m; > - vm_paddr_t pa; > - > - pa =3D DMAP_TO_PHYS((vm_offset_t)mem); > - dump_drop_page(pa); > - m =3D PHYS_TO_VM_PAGE(pa); > - vm_page_unwire_noq(m); > - vm_page_free(m); > -} > diff --git a/sys/amd64/include/vmparam.h b/sys/amd64/include/vmparam.h > index bff9bf840036..e5155a7c7d47 100644 > --- a/sys/amd64/include/vmparam.h > +++ b/sys/amd64/include/vmparam.h > @@ -72,12 +72,12 @@ > #endif >=20 > /* > - * We provide a machine specific single page allocator through the = use > - * of the direct mapped segment. This uses 2MB pages for reduced > + * We provide a single page allocator through the use of the > + * direct mapped segment. This uses 2MB pages for reduced > * TLB pressure. > */ > #if !defined(KASAN) && !defined(KMSAN) > -#define UMA_MD_SMALL_ALLOC > +#define UMA_USE_DMAP > #endif >=20 > /* > diff --git a/sys/arm64/arm64/uma_machdep.c = b/sys/arm64/arm64/uma_machdep.c > deleted file mode 100644 > index f942248d4dcd..000000000000 > --- a/sys/arm64/arm64/uma_machdep.c > +++ /dev/null > @@ -1,69 +0,0 @@ > -/*- > - * Copyright (c) 2003 Alan L. Cox <alc@cs.rice.edu> > - * All rights reserved. > - * > - * Redistribution and use in source and binary forms, with or without > - * modification, are permitted provided that the following conditions > - * are met: > - * 1. Redistributions of source code must retain the above copyright > - * notice, this list of conditions and the following disclaimer. > - * 2. Redistributions in binary form must reproduce the above = copyright > - * notice, this list of conditions and the following disclaimer in = the > - * documentation and/or other materials provided with the = distribution. > - * > - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' = AND > - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, = THE > - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR = PURPOSE > - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE = LIABLE > - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR = CONSEQUENTIAL > - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE = GOODS > - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS = INTERRUPTION) > - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN = CONTRACT, STRICT > - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN = ANY WAY > - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE = POSSIBILITY OF > - * SUCH DAMAGE. > - */ > - > -#include <sys/param.h> > -#include <sys/malloc.h> > -#include <vm/vm.h> > -#include <vm/vm_param.h> > -#include <vm/vm_page.h> > -#include <vm/vm_phys.h> > -#include <vm/vm_dumpset.h> > -#include <vm/uma.h> > -#include <vm/uma_int.h> > -#include <machine/machdep.h> > - > -void * > -uma_small_alloc(uma_zone_t zone, vm_size_t bytes, int domain, = u_int8_t *flags, > - int wait) > -{ > - vm_page_t m; > - vm_paddr_t pa; > - void *va; > - > - *flags =3D UMA_SLAB_PRIV; > - m =3D vm_page_alloc_noobj_domain(domain, malloc2vm_flags(wait) | > - VM_ALLOC_WIRED); > - if (m =3D=3D NULL) > - return (NULL); > - pa =3D m->phys_addr; > - if ((wait & M_NODUMP) =3D=3D 0) > - dump_add_page(pa); > - va =3D (void *)PHYS_TO_DMAP(pa); > - return (va); > -} > - > -void > -uma_small_free(void *mem, vm_size_t size, u_int8_t flags) > -{ > - vm_page_t m; > - vm_paddr_t pa; > - > - pa =3D DMAP_TO_PHYS((vm_offset_t)mem); > - dump_drop_page(pa); > - m =3D PHYS_TO_VM_PAGE(pa); > - vm_page_unwire_noq(m); > - vm_page_free(m); > -} > diff --git a/sys/arm64/include/vmparam.h b/sys/arm64/include/vmparam.h > index ffa5a538504a..0dcd02d63938 100644 > --- a/sys/arm64/include/vmparam.h > +++ b/sys/arm64/include/vmparam.h > @@ -293,7 +293,7 @@ > #endif >=20 > #if !defined(KASAN) && !defined(KMSAN) > -#define UMA_MD_SMALL_ALLOC > +#define UMA_USE_DMAP > #endif >=20 > #ifndef LOCORE > diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 > index 18dec5ed47b0..add27418ce08 100644 > --- a/sys/conf/files.amd64 > +++ b/sys/conf/files.amd64 > @@ -92,7 +92,6 @@ amd64/amd64/support.S standard > amd64/amd64/sys_machdep.c standard > amd64/amd64/trap.c standard > amd64/amd64/uio_machdep.c standard > -amd64/amd64/uma_machdep.c standard > amd64/amd64/vm_machdep.c standard > amd64/pci/pci_cfgreg.c optional pci > cddl/dev/dtrace/amd64/dtrace_asm.S optional dtrace compile-with = "${DTRACE_S}" > diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 > index a3d4fc09da89..8139a7af8ed3 100644 > --- a/sys/conf/files.arm64 > +++ b/sys/conf/files.arm64 > @@ -78,7 +78,6 @@ arm64/arm64/swtch.S standard > arm64/arm64/sys_machdep.c standard > arm64/arm64/trap.c standard > arm64/arm64/uio_machdep.c standard > -arm64/arm64/uma_machdep.c standard > arm64/arm64/undefined.c standard > arm64/arm64/unwind.c optional ddb | kdtrace_hooks | stack \ > compile-with "${NORMAL_C:N-fsanitize*:N-fno-sanitize*}" > diff --git a/sys/conf/files.riscv b/sys/conf/files.riscv > index be7ae2b40a08..49c8ddd0c516 100644 > --- a/sys/conf/files.riscv > +++ b/sys/conf/files.riscv > @@ -67,7 +67,6 @@ riscv/riscv/sys_machdep.c standard > riscv/riscv/trap.c standard > riscv/riscv/timer.c standard > riscv/riscv/uio_machdep.c standard > -riscv/riscv/uma_machdep.c standard > riscv/riscv/unwind.c optional ddb | kdtrace_hooks | stack > riscv/riscv/vm_machdep.c standard >=20 > diff --git a/sys/kern/subr_vmem.c b/sys/kern/subr_vmem.c > index 1c9a8a5be979..a706d944dc3f 100644 > --- a/sys/kern/subr_vmem.c > +++ b/sys/kern/subr_vmem.c > @@ -624,14 +624,14 @@ qc_drain(vmem_t *vm) > uma_zone_reclaim(vm->vm_qcache[i].qc_cache, UMA_RECLAIM_DRAIN); > } >=20 > -#ifndef UMA_MD_SMALL_ALLOC > +#ifndef UMA_USE_DMAP >=20 > static struct mtx_padalign __exclusive_cache_line vmem_bt_lock; >=20 > /* > * vmem_bt_alloc: Allocate a new page of boundary tags. > * > - * On architectures with uma_small_alloc there is no recursion; no = address > + * On architectures with UMA_USE_DMAP there is no recursion; no = address > * space need be allocated to allocate boundary tags. For the others, = we > * must handle recursion. Boundary tags are necessary to allocate new > * boundary tags. > @@ -707,7 +707,7 @@ vmem_startup(void) > vmem_bt_zone =3D uma_zcreate("vmem btag", > sizeof(struct vmem_btag), NULL, NULL, NULL, NULL, > UMA_ALIGN_PTR, UMA_ZONE_VM); > -#ifndef UMA_MD_SMALL_ALLOC > +#ifndef UMA_USE_DMAP > mtx_init(&vmem_bt_lock, "btag lock", NULL, MTX_DEF); > uma_prealloc(vmem_bt_zone, BT_MAXALLOC); > /* > diff --git a/sys/powerpc/include/vmparam.h = b/sys/powerpc/include/vmparam.h > index 89982a618bc7..250da8298610 100644 > --- a/sys/powerpc/include/vmparam.h > +++ b/sys/powerpc/include/vmparam.h > @@ -111,6 +111,8 @@ >=20 > #define KERNBASE 0x00100100 /* start of kernel virtual */ >=20 > +#define UMA_MD_SMALL_ALLOC > + > #ifdef AIM > #ifndef __powerpc64__ > #define VM_MIN_KERNEL_ADDRESS ((vm_offset_t)KERNEL_SR << ADDR_SR_SHFT) > @@ -122,13 +124,13 @@ > * Use the direct-mapped BAT registers for UMA small allocs. This > * takes pressure off the small amount of available KVA. > */ > -#define UMA_MD_SMALL_ALLOC > +#define UMA_USE_DMAP >=20 > #else /* Book-E */ >=20 > /* Use the direct map for UMA small allocs on powerpc64. */ > #ifdef __powerpc64__ > -#define UMA_MD_SMALL_ALLOC > +#define UMA_USE_DMAP > #else > #define VM_MIN_KERNEL_ADDRESS 0xc0000000 > #define VM_MAX_KERNEL_ADDRESS 0xffffefff > diff --git a/sys/riscv/include/vmparam.h b/sys/riscv/include/vmparam.h > index d2014654b691..5711bc8c347e 100644 > --- a/sys/riscv/include/vmparam.h > +++ b/sys/riscv/include/vmparam.h > @@ -234,7 +234,7 @@ > #define VM_INITIAL_PAGEIN 16 > #endif >=20 > -#define UMA_MD_SMALL_ALLOC > +#define UMA_USE_DMAP >=20 > #ifndef LOCORE > extern vm_paddr_t dmap_phys_base; > diff --git a/sys/riscv/riscv/uma_machdep.c = b/sys/riscv/riscv/uma_machdep.c > deleted file mode 100644 > index 54e0d25800f6..000000000000 > --- a/sys/riscv/riscv/uma_machdep.c > +++ /dev/null > @@ -1,68 +0,0 @@ > -/*- > - * Copyright (c) 2003 Alan L. Cox <alc@cs.rice.edu> > - * All rights reserved. > - * > - * Redistribution and use in source and binary forms, with or without > - * modification, are permitted provided that the following conditions > - * are met: > - * 1. Redistributions of source code must retain the above copyright > - * notice, this list of conditions and the following disclaimer. > - * 2. Redistributions in binary form must reproduce the above = copyright > - * notice, this list of conditions and the following disclaimer in = the > - * documentation and/or other materials provided with the = distribution. > - * > - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' = AND > - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, = THE > - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR = PURPOSE > - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE = LIABLE > - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR = CONSEQUENTIAL > - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE = GOODS > - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS = INTERRUPTION) > - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN = CONTRACT, STRICT > - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN = ANY WAY > - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE = POSSIBILITY OF > - * SUCH DAMAGE. > - */ > - > -#include <sys/param.h> > -#include <sys/malloc.h> > -#include <vm/vm.h> > -#include <vm/vm_param.h> > -#include <vm/vm_page.h> > -#include <vm/vm_phys.h> > -#include <vm/vm_dumpset.h> > -#include <vm/uma.h> > -#include <vm/uma_int.h> > - > -void * > -uma_small_alloc(uma_zone_t zone, vm_size_t bytes, int domain, = u_int8_t *flags, > - int wait) > -{ > - vm_page_t m; > - vm_paddr_t pa; > - void *va; > - > - *flags =3D UMA_SLAB_PRIV; > - m =3D vm_page_alloc_noobj_domain(domain, malloc2vm_flags(wait) | > - VM_ALLOC_WIRED); > - if (m =3D=3D NULL) > - return (NULL); > - pa =3D m->phys_addr; > - if ((wait & M_NODUMP) =3D=3D 0) > - dump_add_page(pa); > - va =3D (void *)PHYS_TO_DMAP(pa); > - return (va); > -} > - > -void > -uma_small_free(void *mem, vm_size_t size, u_int8_t flags) > -{ > - vm_page_t m; > - vm_paddr_t pa; > - > - pa =3D DMAP_TO_PHYS((vm_offset_t)mem); > - dump_drop_page(pa); > - m =3D PHYS_TO_VM_PAGE(pa); > - vm_page_unwire_noq(m); > - vm_page_free(m); > -} > diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c > index d185f12448ee..f9b6e18899c6 100644 > --- a/sys/vm/uma_core.c > +++ b/sys/vm/uma_core.c > @@ -2079,6 +2079,28 @@ contig_alloc(uma_zone_t zone, vm_size_t bytes, = int domain, uint8_t *pflag, > bytes, wait, 0, ~(vm_paddr_t)0, 1, 0, VM_MEMATTR_DEFAULT)); > } >=20 > +#if defined(UMA_USE_DMAP) && !defined(UMA_MD_SMALL_ALLOC) > +void * > +uma_small_alloc(uma_zone_t zone, vm_size_t bytes, int domain, uint8_t = *flags, > + int wait) > +{ > + vm_page_t m; > + vm_paddr_t pa; > + void *va; > + > + *flags =3D UMA_SLAB_PRIV; > + m =3D vm_page_alloc_noobj_domain(domain, > + malloc2vm_flags(wait) | VM_ALLOC_WIRED); > + if (m =3D=3D NULL) > + return (NULL); > + pa =3D m->phys_addr; > + if ((wait & M_NODUMP) =3D=3D 0) > + dump_add_page(pa); > + va =3D (void *)PHYS_TO_DMAP(pa); > + return (va); > +} > +#endif > + > /* > * Frees a number of pages to the system > * > @@ -2141,6 +2163,21 @@ pcpu_page_free(void *mem, vm_size_t size, = uint8_t flags) > kva_free(sva, size); > } >=20 > +#if defined(UMA_USE_DMAP) && !defined(UMA_MD_SMALL_ALLOC) > +void > +uma_small_free(void *mem, vm_size_t size, uint8_t flags) > +{ > + vm_page_t m; > + vm_paddr_t pa; > + > + pa =3D DMAP_TO_PHYS((vm_offset_t)mem); > + dump_drop_page(pa); > + m =3D PHYS_TO_VM_PAGE(pa); > + vm_page_unwire_noq(m); > + vm_page_free(m); > +} > +#endif > + > /* > * Zero fill initializer > * > @@ -3154,7 +3191,7 @@ uma_startup1(vm_offset_t virtual_avail) > smr_init(); > } >=20 > -#ifndef UMA_MD_SMALL_ALLOC > +#ifndef UMA_USE_DMAP > extern void vm_radix_reserve_kva(void); > #endif >=20 > @@ -3174,7 +3211,7 @@ uma_startup2(void) > vm_map_unlock(kernel_map); > } >=20 > -#ifndef UMA_MD_SMALL_ALLOC > +#ifndef UMA_USE_DMAP > /* Set up radix zone to use noobj_alloc. */ > vm_radix_reserve_kva(); > #endif > @@ -5171,7 +5208,7 @@ uma_zone_reserve_kva(uma_zone_t zone, int count) >=20 > pages =3D howmany(count, keg->uk_ipers) * keg->uk_ppera; >=20 > -#ifdef UMA_MD_SMALL_ALLOC > +#ifdef UMA_USE_DMAP > if (keg->uk_ppera > 1) { > #else > if (1) { > diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c > index 3111dda6e99d..3c7afcb6642f 100644 > --- a/sys/vm/vm_map.c > +++ b/sys/vm/vm_map.c > @@ -172,7 +172,7 @@ static void vm_map_wire_entry_failure(vm_map_t = map, vm_map_entry_t entry, > start =3D end; \ > } >=20 > -#ifndef UMA_MD_SMALL_ALLOC > +#ifndef UMA_USE_DMAP >=20 > /* > * Allocate a new slab for kernel map entries. The kernel map may be = locked or > @@ -264,7 +264,7 @@ vm_map_startup(void) > kmapentzone =3D uma_zcreate("KMAP ENTRY", sizeof(struct vm_map_entry), > NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, > UMA_ZONE_VM | UMA_ZONE_NOBUCKET); > -#ifndef UMA_MD_SMALL_ALLOC > +#ifndef UMA_USE_DMAP > /* Reserve an extra map entry for use when replenishing the reserve. = */ > uma_zone_reserve(kmapentzone, KMAPENT_RESERVE + 1); > uma_prealloc(kmapentzone, KMAPENT_RESERVE + 1); > @@ -660,7 +660,7 @@ _vm_map_unlock(vm_map_t map, const char *file, int = line) >=20 > VM_MAP_UNLOCK_CONSISTENT(map); > if (map->system_map) { > -#ifndef UMA_MD_SMALL_ALLOC > +#ifndef UMA_USE_DMAP > if (map =3D=3D kernel_map && (map->flags & MAP_REPLENISH) !=3D 0) { > uma_prealloc(kmapentzone, 1); > map->flags &=3D ~MAP_REPLENISH; > @@ -937,7 +937,7 @@ vm_map_entry_create(vm_map_t map) > { > vm_map_entry_t new_entry; >=20 > -#ifndef UMA_MD_SMALL_ALLOC > +#ifndef UMA_USE_DMAP > if (map =3D=3D kernel_map) { > VM_MAP_ASSERT_LOCKED(map); >=20 > diff --git a/sys/vm/vm_radix.c b/sys/vm/vm_radix.c > index cfc5a82eacc8..13f9d36194ab 100644 > --- a/sys/vm/vm_radix.c > +++ b/sys/vm/vm_radix.c > @@ -82,7 +82,7 @@ vm_radix_node_free(struct pctrie *ptree, void *node) > uma_zfree_smr(vm_radix_node_zone, node); > } >=20 > -#ifndef UMA_MD_SMALL_ALLOC > +#ifndef UMA_USE_DMAP > void vm_radix_reserve_kva(void); > /* > * Reserve the KVA necessary to satisfy the node allocation. --Apple-Mail=_576BEDC6-D888-4C3A-82B9-E9B6340CFA63 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEfMw ggUSMIID+qADAgECAgkA4wvV+K8l2YEwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAkRFMSsw KQYDVQQKDCJULVN5c3RlbXMgRW50ZXJwcmlzZSBTZXJ2aWNlcyBHbWJIMR8wHQYDVQQLDBZULVN5 c3RlbXMgVHJ1c3QgQ2VudGVyMSUwIwYDVQQDDBxULVRlbGVTZWMgR2xvYmFsUm9vdCBDbGFzcyAy MB4XDTE2MDIyMjEzMzgyMloXDTMxMDIyMjIzNTk1OVowgZUxCzAJBgNVBAYTAkRFMUUwQwYDVQQK EzxWZXJlaW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMg ZS4gVi4xEDAOBgNVBAsTB0RGTi1QS0kxLTArBgNVBAMTJERGTi1WZXJlaW4gQ2VydGlmaWNhdGlv biBBdXRob3JpdHkgMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMtg1/9moUHN0vqH l4pzq5lN6mc5WqFggEcVToyVsuXPztNXS43O+FZsFVV2B+pG/cgDRWM+cNSrVICxI5y+NyipCf8F XRgPxJiZN7Mg9mZ4F4fCnQ7MSjLnFp2uDo0peQcAIFTcFV9Kltd4tjTTwXS1nem/wHdN6r1ZB+Ba L2w8pQDcNb1lDY9/Mm3yWmpLYgHurDg0WUU2SQXaeMpqbVvAgWsRzNI8qIv4cRrKO+KA3Ra0Z3qL NupOkSk9s1FcragMvp0049ENF4N1xDkesJQLEvHVaY4l9Lg9K7/AjsMeO6W/VRCrKq4Xl14zzsjz 9AkH4wKGMUZrAcUQDBHHWekCAwEAAaOCAXQwggFwMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU k+PYMiba1fFKpZFK4OpL4qIMz+EwHwYDVR0jBBgwFoAUv1kgNgB5oKAia4zV8mHSuCzLgkowEgYD VR0TAQH/BAgwBgEB/wIBAjAzBgNVHSAELDAqMA8GDSsGAQQBga0hgiwBAQQwDQYLKwYBBAGBrSGC LB4wCAYGZ4EMAQICMEwGA1UdHwRFMEMwQaA/oD2GO2h0dHA6Ly9wa2kwMzM2LnRlbGVzZWMuZGUv cmwvVGVsZVNlY19HbG9iYWxSb290X0NsYXNzXzIuY3JsMIGGBggrBgEFBQcBAQR6MHgwLAYIKwYB BQUHMAGGIGh0dHA6Ly9vY3NwMDMzNi50ZWxlc2VjLmRlL29jc3ByMEgGCCsGAQUFBzAChjxodHRw Oi8vcGtpMDMzNi50ZWxlc2VjLmRlL2NydC9UZWxlU2VjX0dsb2JhbFJvb3RfQ2xhc3NfMi5jZXIw DQYJKoZIhvcNAQELBQADggEBAIcL/z4Cm2XIVi3WO5qYi3FP2ropqiH5Ri71sqQPrhE4eTizDnS6 dl2e6BiClmLbTDPo3flq3zK9LExHYFV/53RrtCyD2HlrtrdNUAtmB7Xts5et6u5/MOaZ/SLick0+ hFvu+c+Z6n/XUjkurJgARH5pO7917tALOxrN5fcPImxHhPalR6D90Bo0fa3SPXez7vTXTf/D6OWS T1k+kEcQSrCFWMBvf/iu7QhCnh7U3xQuTY+8npTD5+32GPg8SecmqKc22CzeIs2LgtjZeOJVEqM7 h0S2EQvVDFKvaYwPBt/QolOLV5h7z/0HJPT8vcP9SpIClxvyt7bPZYoaorVyGTkwggWsMIIElKAD AgECAgcbY7rQHiw9MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJERTFFMEMGA1UEChM8VmVy ZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYu MRAwDgYDVQQLEwdERk4tUEtJMS0wKwYDVQQDEyRERk4tVmVyZWluIENlcnRpZmljYXRpb24gQXV0 aG9yaXR5IDIwHhcNMTYwNTI0MTEzODQwWhcNMzEwMjIyMjM1OTU5WjCBjTELMAkGA1UEBhMCREUx RTBDBgNVBAoMPFZlcmVpbiB6dXIgRm9lcmRlcnVuZyBlaW5lcyBEZXV0c2NoZW4gRm9yc2NodW5n c25ldHplcyBlLiBWLjEQMA4GA1UECwwHREZOLVBLSTElMCMGA1UEAwwcREZOLVZlcmVpbiBHbG9i YWwgSXNzdWluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ07eRxH3h+Gy8Zp 1xCeOdfZojDbchwFfylfS2jxrRnWTOFrG7ELf6Gr4HuLi9gtzm6IOhDuV+UefwRRNuu6cG1joL6W LkDh0YNMZj0cZGnlm6Stcq5oOVGHecwX064vXWNxSzl660Knl5BpBb+Q/6RAcL0D57+eGIgfn5mI TQ5HjUhfZZkQ0tkqSe3BuS0dnxLLFdM/fx5ULzquk1enfnjK1UriGuXtQX1TX8izKvWKMKztFwUk P7agCwf9TRqaA1KgNpzeJIdl5Of6x5ZzJBTN0OgbaJ4YWa52fvfRCng8h0uwN89Tyjo4EPPLR22M ZD08WkVKusqAfLjz56dMTM0CAwEAAaOCAgUwggIBMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYDVR0P AQH/BAQDAgEGMCkGA1UdIAQiMCAwDQYLKwYBBAGBrSGCLB4wDwYNKwYBBAGBrSGCLAEBBDAdBgNV HQ4EFgQUazqYi/nyU4na4K2yMh4JH+iqO3QwHwYDVR0jBBgwFoAUk+PYMiba1fFKpZFK4OpL4qIM z+EwgY8GA1UdHwSBhzCBhDBAoD6gPIY6aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9v dC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDBAoD6gPIY6aHR0cDovL2NkcDIucGNhLmRmbi5kZS9n bG9iYWwtcm9vdC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDCB3QYIKwYBBQUHAQEEgdAwgc0wMwYI KwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2ZXIvT0NTUDBKBggrBgEF BQcwAoY+aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIvY2FjZXJ0 L2NhY2VydC5jcnQwSgYIKwYBBQUHMAKGPmh0dHA6Ly9jZHAyLnBjYS5kZm4uZGUvZ2xvYmFsLXJv b3QtZzItY2EvcHViL2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQCBeEWkTqR/ DlXwCbFqPnjMaDWpHPOVnj/z+N9rOHeJLI21rT7H8pTNoAauusyosa0zCLYkhmI2THhuUPDVbmCN T1IxQ5dGdfBi5G5mUcFCMWdQ5UnnOR7Ln8qGSN4IFP8VSytmm6A4nwDO/afr0X9XLchMX9wQEZc+ lgQCXISoKTlslPwQkgZ7nu7YRrQbtQMMONncsKk/cQYLsgMHM8KNSGMlJTx6e1du94oFOO+4oK4v 9NsH1VuEGMGpuEvObJAaguS5Pfp38dIfMwK/U+d2+dwmJUFvL6Yb+qQTkPp8ftkLYF3sv8pBoGH7 EUkp2KgtdRXYShjqFu9VNCIaE40GMIIHKTCCBhGgAwIBAgIMJrRClNKRzetB0jc/MA0GCSqGSIb3 DQEBCwUAMIGNMQswCQYDVQQGEwJERTFFMEMGA1UECgw8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVp bmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLDAdERk4tUEtJMSUw IwYDVQQDDBxERk4tVmVyZWluIEdsb2JhbCBJc3N1aW5nIENBMB4XDTIyMDUzMDEzMjIxNVoXDTI1 MDUyOTEzMjIxNVowgcQxCzAJBgNVBAYTAkRFMRwwGgYDVQQIDBNOb3JkcmhlaW4tV2VzdGZhbGVu MREwDwYDVQQHDAhNdWVuc3RlcjEUMBIGA1UECgwLRkggTXVlbnN0ZXIxMjAwBgNVBAsMKUZhY2hi ZXJlaWNoIEVsZWt0cm90ZWNobmlrIHVuZCBJbmZvcm1hdGlrMQ8wDQYDVQQEDAZUdWV4ZW4xEDAO BgNVBCoMB01pY2hhZWwxFzAVBgNVBAMMDk1pY2hhZWwgVHVleGVuMIICIjANBgkqhkiG9w0BAQEF AAOCAg8AMIICCgKCAgEA2QZ7Uheto325SEnX2BTxBvYnz7u/BVmzxKlogaR4K0MA8ZcfNIdQkiJU efjL6imq21BSFsr/tXcODFZmPrvx9aIxjntCxmEFr7qFaw3e3mUIxJyj5n6BxjzZ/hyJte8LBDbj zj+e8WPUzXmYbSxtrh9kgw8NMx3+bo3Hslic+PkKEGx9JJp2I2TEs88xD0rHC2Ljwcfk6bS9jC+/ BAuY/TsbJoq+8d64DYSLGiIYbvMMuxM2C8BlpHLIOLx2FaH+uMqdH2dLVvCacZJ9YzHvvZY8O2nQ OBFCG1UMpX5YLHN8g/t02a+IBt+oe97JMdJ/kZsPjolI98dcRdzz0hTXZql2xvp6zlocm9iGTRcv dCSxy+0x4CIZD1EkVX9zCPGpzdTXnrU+zvnz14Uq3Wbfl3GiVgK0Avr1enfZepruAxAy7KGIm2zi /qY3XSkN8fvWJmYnomOjCRjaPtqS/azmnyeodsxlVhqQKbES65u/PbOXjOlhiYAvemS0IbK4iR76 3iSmkpwSNpJt6BCtFJN+w3Y8tztCP66KPPC1Fri1oj27KPaf04J66MkSjlQdpI7POS6lDyN7X2Hw tgZKRVA94h/JvZp4ld7mTzXTEW2tdO5azPILsL9xOYjSS5VIyUFF4MoxSbfZtXWaZFsMC1fXDNNL uRDrISotdwADuU75Fe0CAwEAAaOCAk4wggJKMD4GA1UdIAQ3MDUwDwYNKwYBBAGBrSGCLAEBBDAQ Bg4rBgEEAYGtIYIsAQEECjAQBg4rBgEEAYGtIYIsAgEECjAJBgNVHRMEAjAAMA4GA1UdDwEB/wQE AwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFFDbROYIxDr3fvlX tkXqx7T8lihxMB8GA1UdIwQYMBaAFGs6mIv58lOJ2uCtsjIeCR/oqjt0MCAGA1UdEQQZMBeBFXR1 ZXhlbkBmaC1tdWVuc3Rlci5kZTCBjQYDVR0fBIGFMIGCMD+gPaA7hjlodHRwOi8vY2RwMS5wY2Eu ZGZuLmRlL2Rmbi1jYS1nbG9iYWwtZzIvcHViL2NybC9jYWNybC5jcmwwP6A9oDuGOWh0dHA6Ly9j ZHAyLnBjYS5kZm4uZGUvZGZuLWNhLWdsb2JhbC1nMi9wdWIvY3JsL2NhY3JsLmNybDCB2wYIKwYB BQUHAQEEgc4wgcswMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2 ZXIvT0NTUDBJBggrBgEFBQcwAoY9aHR0cDovL2NkcDEucGNhLmRmbi5kZS9kZm4tY2EtZ2xvYmFs LWcyL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDBJBggrBgEFBQcwAoY9aHR0cDovL2NkcDIucGNhLmRm bi5kZS9kZm4tY2EtZ2xvYmFsLWcyL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDANBgkqhkiG9w0BAQsF AAOCAQEALubmL854icQMxKxOxQK+deXTjC6CLYnUDwB8MvnDC+BSeh3tUHT37fSgsK1ShNUSNJX0 YF0VYLfZ6+lPyaFYLArVrAIHqvDiVURaulB9NA+3gck/VSuRz4ILYBy61XbcGQQ8Wx+g6TcqsjsF oOhqEBycj5QuITj+EFmX8nvfo0dJtVa2OPDk1N9beLfQBcLhspJ/nv0pKhpNWv5YETG26YqYfsC7 FA/ZNGvRcoOPkjkDhBTtG+qq9DDD75XtGEBZhYXbnG15tn4/UV07B+UyK4/cqQSA+My5FML3YsQw EYrV9klVD/mLMOdZV5+95xt7O8IdYeHrBapVlhANH5bFazGCBJ0wggSZAgEBMIGeMIGNMQswCQYD VQQGEwJERTFFMEMGA1UECgw8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBG b3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLDAdERk4tUEtJMSUwIwYDVQQDDBxERk4tVmVy ZWluIEdsb2JhbCBJc3N1aW5nIENBAgwmtEKU0pHN60HSNz8wDQYJYIZIAWUDBAIBBQCgggHPMBgG CSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI0MDUyNTE4MjcyOVowLwYJ KoZIhvcNAQkEMSIEIILojSQPANYry+cIzINsG7NUXj0vtI4ouU7w+NklPELfMIGvBgkrBgEEAYI3 EAQxgaEwgZ4wgY0xCzAJBgNVBAYTAkRFMUUwQwYDVQQKDDxWZXJlaW4genVyIEZvZXJkZXJ1bmcg ZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsMB0RGTi1QS0kx JTAjBgNVBAMMHERGTi1WZXJlaW4gR2xvYmFsIElzc3VpbmcgQ0ECDCa0QpTSkc3rQdI3PzCBsQYL KoZIhvcNAQkQAgsxgaGggZ4wgY0xCzAJBgNVBAYTAkRFMUUwQwYDVQQKDDxWZXJlaW4genVyIEZv ZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsM B0RGTi1QS0kxJTAjBgNVBAMMHERGTi1WZXJlaW4gR2xvYmFsIElzc3VpbmcgQ0ECDCa0QpTSkc3r QdI3PzANBgkqhkiG9w0BAQsFAASCAgCNAoZrQUSWvokvjyCmnvEMcZo9uT2WanD5FVHosrTOpPIn ROotVrPSM+XoqX0UnEso86Uh4qe62xEjlclscEl9dZcR82AocPuKywtXr9ZlxaFKNF8A2yXd0QVr ALiCYM5lXag8bNmyGTvqDNMjpwqNMqEM+NZ/DhH/NkoLyfRTv7MWxjlPplh0QmPK/74fD2R8b4H3 +eob5rHRAt2SGDb3R44e4gmC/4HHg1wsqEdx84d5El9Y4fpDBP4jnzXieQYEGWUQ0OVjN9huSHFs EP+3K4G3eow7FPeTLxOLB7gG1NW0v62/FUrJL6JAY1XaVK92aolXLjjm4/cnAIf0vOZmCOFX85k/ vQt0x4UWCWcm369J6AESJharDBubJj5kxvobNEwi2P2b6VKgOitCVL1ZpvAMrdOYa6FmLzRfZMO0 9wNE00t98IL21PKUkXiI4cbLKETpdLSat6UFS/VlmWhuDyfc9lbRzbKa0S6c7/SCcyQQA5TEoJYe xmxTISrWhIPdpjG2Tk/PTwk6NcZEQ7RSsLEU/K3s25FoBKGOgdkN5Y95v+4Taldut5xCvVkUBnNX KI7fXbH3vmd+tl3tPXBLdpn17rgDog08WD1hntWOUfWDCG1PyKXrtsMpMRb/KUL4Z+YlsiuAJhFP gQbjanrHPXWdmIcVEzBfCNdLtunfhwAAAAAAAA== --Apple-Mail=_576BEDC6-D888-4C3A-82B9-E9B6340CFA63--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CEE600C9-BA44-4852-8537-EB70F299AA67>