Date: Mon, 9 Nov 2020 00:34:23 +0000 (UTC) From: Mateusz Guzik <mjg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r367503 - in head/sys: kern vm Message-ID: <202011090034.0A90YNbE085267@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mjg Date: Mon Nov 9 00:34:23 2020 New Revision: 367503 URL: https://svnweb.freebsd.org/changeset/base/367503 Log: Add more per-cpu zones. This covers powers of 2 up to 64. Example pending user is ZFS. Modified: head/sys/kern/subr_pcpu.c head/sys/vm/uma.h Modified: head/sys/kern/subr_pcpu.c ============================================================================== --- head/sys/kern/subr_pcpu.c Mon Nov 9 00:08:35 2020 (r367502) +++ head/sys/kern/subr_pcpu.c Mon Nov 9 00:34:23 2020 (r367503) @@ -133,17 +133,25 @@ SYSINIT(dpcpu, SI_SUB_KLD, SI_ORDER_FIRST, dpcpu_start /* * UMA_ZONE_PCPU zones for general kernel use. */ - uma_zone_t pcpu_zone_4; uma_zone_t pcpu_zone_8; +uma_zone_t pcpu_zone_16; +uma_zone_t pcpu_zone_32; +uma_zone_t pcpu_zone_64; static void pcpu_zones_startup(void) { - pcpu_zone_4 = uma_zcreate("pcpu-4", sizeof(uint32_t), + pcpu_zone_4 = uma_zcreate("pcpu-4", 4, NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_PCPU); - pcpu_zone_8 = uma_zcreate("pcpu-8", sizeof(uint64_t), + pcpu_zone_8 = uma_zcreate("pcpu-8", 8, + NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_PCPU); + pcpu_zone_16 = uma_zcreate("pcpu-16", 16, + NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_PCPU); + pcpu_zone_32 = uma_zcreate("pcpu-32", 32, + NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_PCPU); + pcpu_zone_64 = uma_zcreate("pcpu-64", 64, NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_PCPU); } SYSINIT(pcpu_zones, SI_SUB_COUNTER, SI_ORDER_FIRST, pcpu_zones_startup, NULL); Modified: head/sys/vm/uma.h ============================================================================== --- head/sys/vm/uma.h Mon Nov 9 00:08:35 2020 (r367502) +++ head/sys/vm/uma.h Mon Nov 9 00:34:23 2020 (r367503) @@ -668,6 +668,9 @@ size_t uma_zone_memory(uma_zone_t zone); */ extern uma_zone_t pcpu_zone_4; extern uma_zone_t pcpu_zone_8; +extern uma_zone_t pcpu_zone_16; +extern uma_zone_t pcpu_zone_32; +extern uma_zone_t pcpu_zone_64; /* * Exported statistics structures to be used by user space monitoring tools.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202011090034.0A90YNbE085267>