zfs/module/spl
Brian Behlendorf b78d4b9d98 Ensure a minimum of one slab is reclaimed
To minimize the chance of triggering an OOM during direct reclaim.
The kmem caches have been improved to make a best effort to reclaim
at least one slab when a reclaim function is registered.  This helps
avoid the case where objects are released but they are spread over
multiple slabs so no memory gets reclaimed.

Care has been taken to avoid deadlocking if the reclaim function
is unable to make forward progress.  Additionally, the reclaim
function may be skipped entirely if there are already free slabs
which can be safely reaped.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #107
2012-05-07 11:54:28 -07:00
..
.gitignore sun-misc-gitignore 2010-01-08 09:37:54 -08:00
Makefile.in Fix zlib compression 2011-02-25 16:56:22 -08:00
spl-atomic.c Linux 2.6.39 compat, DEFINE_SPINLOCK() 2011-04-20 12:01:11 -07:00
spl-condvar.c Remove condition variable names 2012-04-06 12:06:19 -07:00
spl-cred.c Add crgetfsuid()/crgetfsgid() helpers 2011-03-22 12:18:44 -07:00
spl-debug.c Add --enable-debug-log configure option 2012-02-02 11:27:54 -08:00
spl-err.c Add --enable-debug-log configure option 2012-02-02 11:27:54 -08:00
spl-generic.c Add missing 64-bit divide for 32-bit ARM 2012-05-03 10:07:54 -07:00
spl-kmem.c Ensure a minimum of one slab is reclaimed 2012-05-07 11:54:28 -07:00
spl-kobj.c Remove VN_HOLD/VN_RELE/VOP_PUTPAGE 2011-01-12 11:38:05 -08:00
spl-kstat.c Add basic dynamic kstat support 2012-02-02 11:28:00 -08:00
spl-module.c Linux 2.6.39 compat, DEFINE_SPINLOCK() 2011-04-20 12:01:11 -07:00
spl-mutex.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-proc.c Add --enable-debug-log configure option 2012-02-02 11:27:54 -08:00
spl-rwlock.c Public Release Prep 2010-05-17 15:18:00 -07:00
spl-taskq.c Update a comment to reflect new taskq internals 2012-04-30 10:49:15 -07:00
spl-thread.c Add Thread Specific Data (TSD) Implementation 2010-12-07 10:02:32 -08:00
spl-time.c Minor 32-bit fix cast to hrtime_t before the mutliply. 2010-05-23 09:51:17 -07:00
spl-tsd.c Prepend spl_ to all init/fini functions 2011-11-11 09:18:28 -08:00
spl-vnode.c Linux 3.1 compat, kern_path_parent() 2011-11-09 16:51:25 -08:00
spl-xdr.c Prefix all SPL debug macros with 'S' 2010-07-20 13:30:40 -07:00
spl-zlib.c Prepend spl_ to all init/fini functions 2011-11-11 09:18:28 -08:00