freebsd-nq/module/splat
Brian Behlendorf 0936c3449f Add spl_kmem_cache_expire module option
Cache aging was implemented because it was part of the default Solaris
kmem_cache behavior.  The idea is that per-cpu objects which haven't been
accessed in several seconds should be returned to the cache.  On the other
hand Linux slabs never move objects back to the slabs unless there is
memory pressure on the system.

This behavior is now configurable through the 'spl_kmem_cache_expire'
module option.  The value is a bit mask with the following meaning.

  0x1 - Solaris style cache aging eviction is enabled.
  0x2 - Linux style low memory eviction is enabled.

Both methods may be safely enabled simultaneously, but by default
both are disabled.  It has never been clear if the kmem cache aging
(which has been around from day one) actually does any good.  It has
however been the source of numerous bugs so I wouldn't mind retiring
it entirely.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes zfsonlinux/zfs#1227
Closes #210
2013-01-28 09:34:12 -08:00
..
Makefile.in Add script for builtin module building. 2012-07-26 15:13:09 -07:00
splat-atomic.c splat atomic:64-bit: Create thread outside spin lock 2012-11-06 14:48:57 -08:00
splat-condvar.c Linux compat 3.7, kernel_thread() 2012-12-03 09:36:21 -08:00
splat-cred.c splat: Cleanup headers 2012-11-06 14:48:56 -08:00
splat-ctl.c splat: Fix log buffer locking 2012-11-06 14:48:56 -08:00
splat-generic.c splat: Cleanup headers 2012-11-06 14:48:56 -08:00
splat-internal.h splat: Fix log buffer locking 2012-11-06 14:48:56 -08:00
splat-kmem.c Add spl_kmem_cache_expire module option 2013-01-28 09:34:12 -08:00
splat-kobj.c splat: Cleanup headers 2012-11-06 14:48:56 -08:00
splat-linux.c call_usermodehelper() should wait for process 2013-01-09 16:54:19 -08:00
splat-list.c splat: Cleanup headers 2012-11-06 14:48:56 -08:00
splat-mutex.c splat: Cleanup headers 2012-11-06 14:48:56 -08:00
splat-random.c splat: Cleanup headers 2012-11-06 14:48:56 -08:00
splat-rwlock.c Linux compat 3.7, kernel_thread() 2012-12-03 09:36:21 -08:00
splat-taskq.c splat taskq:front: Reduce stack frame 2012-12-12 09:56:54 -08:00
splat-thread.c splat: Cleanup headers 2012-11-06 14:48:56 -08:00
splat-time.c splat: Cleanup headers 2012-11-06 14:48:56 -08:00
splat-vnode.c call_usermodehelper() should wait for process 2013-01-09 16:54:19 -08:00
splat-zlib.c splat: Cleanup headers 2012-11-06 14:48:56 -08:00