diff options
author | jeff <jeff@FreeBSD.org> | 2003-09-19 23:27:46 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2003-09-19 23:27:46 +0000 |
commit | accdfbd6265c14ec2d89df2a586816981de7c8aa (patch) | |
tree | a0aa2bf104f24df4b2bdd54c03e8e9611e4b51da /sys/vm/uma_int.h | |
parent | 282f47fbc761b0f25d1ced2774e9ddd76067d9d6 (diff) | |
download | FreeBSD-src-accdfbd6265c14ec2d89df2a586816981de7c8aa.zip FreeBSD-src-accdfbd6265c14ec2d89df2a586816981de7c8aa.tar.gz |
- Remove the working-set algorithm. Instead, use the per cpu buckets as the
working set cache. This has several advantages. Firstly, we never touch
the per cpu queues now in the timeout handler. This removes one more
reason for having per cpu locks. Secondly, it reduces the size of the zone
by 8 bytes, bringing it under 200 bytes for a single proc x86 box. This
tidies up other logic as well.
- The 'destroy' flag no longer needs to be passed to zone_drain() since it
always frees everything in the zone's slabs.
- cache_drain() is now only called from zone_dtor() and so it destroys by
default. It also does not need the destroy parameter now.
Diffstat (limited to 'sys/vm/uma_int.h')
-rw-r--r-- | sys/vm/uma_int.h | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/sys/vm/uma_int.h b/sys/vm/uma_int.h index 1828c94..b25468b 100644 --- a/sys/vm/uma_int.h +++ b/sys/vm/uma_int.h @@ -103,9 +103,7 @@ #define UMA_SLAB_MASK (PAGE_SIZE - 1) /* Mask to get back to the page */ #define UMA_SLAB_SHIFT PAGE_SHIFT /* Number of bits PAGE_MASK */ -#define UMA_BOOT_PAGES 30 /* Number of pages allocated for startup */ -#define UMA_WORKING_TIME 20 /* Seconds worth of items to keep */ - +#define UMA_BOOT_PAGES 30 /* Pages allocated for startup */ /* Max waste before going to off page slab management */ #define UMA_MAX_WASTE (UMA_SLAB_SIZE / 10) @@ -117,7 +115,6 @@ */ #define UMA_HASH_SIZE_INIT 32 - /* * I should investigate other hashing algorithms. This should yield a low * number of collisions if the pages are relatively contiguous. @@ -231,8 +228,6 @@ struct uma_zone { struct vm_object *uz_obj; /* Zone specific object */ vm_offset_t uz_kva; /* Base kva for zones with objs */ u_int32_t uz_maxpages; /* Maximum number of pages to alloc */ - u_int64_t uz_oallocs; /* old allocs count */ - u_int64_t uz_wssize; /* Working set size */ int uz_recurse; /* Allocation recursion count */ uint16_t uz_fills; /* Outstanding bucket fills */ uint16_t uz_count; /* Highest value ub_ptr can have */ |