mirror_zfs/include
Brian Behlendorf ea3e6ca9e5 kmem_cache hardening and performance improvements
- Added slab work queue task which gradually ages and free's slabs
  from the cache which have not been used recently.
- Optimized slab packing algorithm to ensure each slab contains the
  maximum number of objects without create to large a slab.
- Fix deadlock, we can never call kv_free() under the skc_lock.  We
  now unlink the objects and slabs from the cache itself and attach
  them to a private work list.  The contents of the list are then
  subsequently freed outside the spin lock.
- Move magazine create/destroy operation on to local cpu.
- Further performace optimizations by minimize the usage of the large
  per-cache skc_lock.  This includes the addition of KMC_BIT_REAPING
  bit mask which is used to prevent concurrent reaping, and to defer
  new slab creation when reaping is occuring.
- Add KMC_BIT_DESTROYING bit mask which is set when the cache is being
  destroyed, this is used to catch any task accessing the cache while
  it is being destroyed.
- Add comments to all the functions and additional comments to try
  and make everything as clear as possible.
- Major cleanup and additions to the SPLAT kmem tests to more
  rigerously stress the cache implementation and look for any problems.
  This includes correctness and performance tests.
- Updated portable work queue interfaces
2009-01-30 20:54:49 -08:00
..
asm Add a SPL_AC_TYPE_ATOMIC64_T test to configure for systems which do 2008-11-03 21:06:04 +00:00
fs Add missing headers 2008-03-14 00:04:01 +00:00
linux Include linux/uaccess.h compat changes. 2008-08-11 19:10:14 +00:00
rpc Stub out some missing headers which are expected. I'll fill 2008-03-01 18:30:12 +00:00
sharefs Add share.h stub 2009-01-09 10:06:18 -08:00
sys kmem_cache hardening and performance improvements 2009-01-30 20:54:49 -08:00
util Add missing headers 2008-03-13 22:52:23 +00:00
vm Include the header 2008-12-23 16:48:15 -08:00
Makefile.am Reorganize /include/ to add a /sys/, this way we don't need to 2008-03-01 00:45:59 +00:00
Makefile.in Prefix META_ALIAS with SPL_ 2008-11-26 13:26:05 -08:00
spl-ctl.h Go through and add a header with the proper UCRL number. 2008-05-26 04:38:26 +00:00
spl-device.h Sigh more compat fixes, this is almost right for 2.6.9 - 2.6.26 kernels. 2008-08-11 23:47:44 +00:00
splat-ctl.h Slightly increase SPLAT_NAME_SIZE to ensure string is always 2008-11-05 21:27:31 +00:00
strings.h More stub headers, 2008-03-04 18:22:31 +00:00
unistd.h More stub headers, 2008-03-04 18:22:31 +00:00