summaryrefslogtreecommitdiffstats
path: root/sys/vm/uma_core.c
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2013-04-22 09:02:23 +0000
committerglebius <glebius@FreeBSD.org>2013-04-22 09:02:23 +0000
commit18dd370b59a239012678090de628e116ec066b44 (patch)
tree8e86cbfc5e52cbeb39c5c80516e3d236ce2f58fe /sys/vm/uma_core.c
parent3594d490ac6c1d5e1212d41ef456ae2593aa2287 (diff)
downloadFreeBSD-src-18dd370b59a239012678090de628e116ec066b44.zip
FreeBSD-src-18dd370b59a239012678090de628e116ec066b44.tar.gz
Panic if UMA_ZONE_PCPU is created at early stages of boot, when mp_ncpus
isn't yet initialized. Otherwise we will panic at first allocation later. Sponsored by: Nginx, Inc.
Diffstat (limited to 'sys/vm/uma_core.c')
-rw-r--r--sys/vm/uma_core.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c
index a9d0c66..1db6bda 100644
--- a/sys/vm/uma_core.c
+++ b/sys/vm/uma_core.c
@@ -1139,6 +1139,7 @@ keg_small_init(uma_keg_t keg)
u_int shsize;
if (keg->uk_flags & UMA_ZONE_PCPU) {
+ KASSERT(mp_ncpus > 0, ("%s: ncpus %d\n", __func__, mp_ncpus));
keg->uk_slabsize = sizeof(struct pcpu);
keg->uk_ppera = howmany(mp_ncpus * sizeof(struct pcpu),
PAGE_SIZE);
OpenPOWER on IntegriCloud