summaryrefslogtreecommitdiffstats
path: root/sys/vm/uma_core.c
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2012-09-18 20:28:55 +0000
committerglebius <glebius@FreeBSD.org>2012-09-18 20:28:55 +0000
commite4b6b754eb5486915f196cf85ac2d06e708957c2 (patch)
tree3fa276496bf70ba024255524fd18336bdf3a88d0 /sys/vm/uma_core.c
parent4398be77e36b987dd698da31111cc57ba666db6c (diff)
downloadFreeBSD-src-e4b6b754eb5486915f196cf85ac2d06e708957c2.zip
FreeBSD-src-e4b6b754eb5486915f196cf85ac2d06e708957c2.tar.gz
If caller specifies UMA_ZONE_OFFPAGE explicitly, then do not waste memory
in an allocation for a slab. Reviewed by: jeff
Diffstat (limited to 'sys/vm/uma_core.c')
-rw-r--r--sys/vm/uma_core.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c
index a792cf4..7a535ca 100644
--- a/sys/vm/uma_core.c
+++ b/sys/vm/uma_core.c
@@ -1127,7 +1127,9 @@ keg_small_init(uma_keg_t keg)
keg->uk_rsize = rsize;
keg->uk_ppera = 1;
- if (keg->uk_flags & UMA_ZONE_REFCNT) {
+ if (keg->uk_flags & UMA_ZONE_OFFPAGE) {
+ shsize = 0;
+ } else if (keg->uk_flags & UMA_ZONE_REFCNT) {
rsize += UMA_FRITMREF_SZ; /* linkage & refcnt */
shsize = sizeof(struct uma_slab_refcnt);
} else {
OpenPOWER on IntegriCloud