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.
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to