svn commit: r367503 - in head/sys: kern vm
Mateusz Guzik
mjg at FreeBSD.org
Mon Nov 9 00:34:24 UTC 2020
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.
More information about the svn-src-all
mailing list