summaryrefslogtreecommitdiffstats
path: root/sys/vm/uma_core.c
diff options
context:
space:
mode:
authorbmilekic <bmilekic@FreeBSD.org>2005-02-16 20:06:11 +0000
committerbmilekic <bmilekic@FreeBSD.org>2005-02-16 20:06:11 +0000
commit8fa4f6f9a4f4e6f10e2b7ca3982474af6928366a (patch)
tree36b2a6a0968330e0709f6456c870dfd213f1c2a0 /sys/vm/uma_core.c
parent61fae0841da73a9e3d1786cea5e332d8dc78aff8 (diff)
downloadFreeBSD-src-8fa4f6f9a4f4e6f10e2b7ca3982474af6928366a.zip
FreeBSD-src-8fa4f6f9a4f4e6f10e2b7ca3982474af6928366a.tar.gz
Make UMA set the overloaded page->object back to kmem_object for
UMA_ZONE_REFCNT and UMA_ZONE_MALLOC zones, as the page(s) undoubtedly came from kmem_map for those two. Previously it would set it back to NULL for UMA_ZONE_REFCNT zones and although this was probably not fatal, it added MORE code for no reason.
Diffstat (limited to 'sys/vm/uma_core.c')
-rw-r--r--sys/vm/uma_core.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c
index aa873f1..797adc6 100644
--- a/sys/vm/uma_core.c
+++ b/sys/vm/uma_core.c
@@ -754,15 +754,9 @@ finished:
if ((keg->uk_flags & UMA_ZONE_MALLOC) ||
(keg->uk_flags & UMA_ZONE_REFCNT)) {
- vm_object_t obj;
-
- if (flags & UMA_SLAB_KMEM)
- obj = kmem_object;
- else
- obj = NULL;
for (i = 0; i < keg->uk_ppera; i++)
vsetobj((vm_offset_t)mem + (i * PAGE_SIZE),
- obj);
+ kmem_object);
}
if (keg->uk_flags & UMA_ZONE_OFFPAGE)
uma_zfree_internal(keg->uk_slabzone, slab, NULL,
@@ -875,7 +869,7 @@ slab_zalloc(uma_zone_t zone, int wait)
(keg->uk_flags & UMA_ZONE_REFCNT))
for (i = 0; i < keg->uk_ppera; i++)
vsetobj((vm_offset_t)mem +
- (i * PAGE_SIZE), NULL);
+ (i * PAGE_SIZE), kmem_object);
if (keg->uk_flags & UMA_ZONE_OFFPAGE)
uma_zfree_internal(keg->uk_slabzone, slab,
NULL, SKIP_NONE);
OpenPOWER on IntegriCloud