diff options
author | glebius <glebius@FreeBSD.org> | 2012-09-18 20:28:55 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2012-09-18 20:28:55 +0000 |
commit | e4b6b754eb5486915f196cf85ac2d06e708957c2 (patch) | |
tree | 3fa276496bf70ba024255524fd18336bdf3a88d0 /sys/vm/uma_core.c | |
parent | 4398be77e36b987dd698da31111cc57ba666db6c (diff) | |
download | FreeBSD-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.c | 4 |
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 { |