diff options
author | glebius <glebius@FreeBSD.org> | 2013-04-22 09:02:23 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2013-04-22 09:02:23 +0000 |
commit | 18dd370b59a239012678090de628e116ec066b44 (patch) | |
tree | 8e86cbfc5e52cbeb39c5c80516e3d236ce2f58fe /sys/vm/uma_core.c | |
parent | 3594d490ac6c1d5e1212d41ef456ae2593aa2287 (diff) | |
download | FreeBSD-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.c | 1 |
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); |