diff options
author | bmilekic <bmilekic@FreeBSD.org> | 2005-02-16 20:06:11 +0000 |
---|---|---|
committer | bmilekic <bmilekic@FreeBSD.org> | 2005-02-16 20:06:11 +0000 |
commit | 8fa4f6f9a4f4e6f10e2b7ca3982474af6928366a (patch) | |
tree | 36b2a6a0968330e0709f6456c870dfd213f1c2a0 /sys/vm | |
parent | 61fae0841da73a9e3d1786cea5e332d8dc78aff8 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/vm/uma_core.c | 10 |
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); |