mirror_zfs/module/splat
Brian Behlendorf efcd0ca32d Enhance SPLAT kmem:slab_overcommit test
After the emergency slab objects were merged I started observing
timeout failures in the kmem:slab_overcommit test.  These were
due to the ineffecient way the slab_overcommit reclaim function
was implemented.  And due to the additional cost of potentially
allocating ten of thousands of emergency objects and tracking
them on a single list.

This patch addresses the first concern by enhansing the test
case to trace all of the allocations objects as a linked list.
This allows for a cleaner version of the reclaim function to
simply release SPLAT_KMEM_OBJ_RECLAIM objects.

Since this touches some common code all the tests which share
these data structions were also updated.  After making these
changes slab_overcommit is reliably passing.  However, there
is certainly additional cleanup which could be done here.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2012-08-30 15:49:00 -07:00
..
Makefile.in Add script for builtin module building. 2012-07-26 15:13:09 -07:00
splat-atomic.c Split <sys/debug.h> header 2010-07-20 13:29:35 -07:00
splat-condvar.c Remove condition variable names 2012-04-06 12:06:19 -07:00
splat-cred.c Public Release Prep 2010-05-17 15:18:00 -07:00
splat-ctl.c Add SPL_META_RELEASE to module load/unload messages 2012-03-23 12:11:50 -07:00
splat-generic.c Add __divdi3(), remove __udivdi3() kernel dependency 2010-07-13 16:44:02 -07:00
splat-internal.h Add linux compatibility tests 2011-06-21 14:02:46 -07:00
splat-kmem.c Enhance SPLAT kmem:slab_overcommit test 2012-08-30 15:49:00 -07:00
splat-kobj.c Public Release Prep 2010-05-17 15:18:00 -07:00
splat-linux.c Add linux compatibility tests 2011-06-21 14:02:46 -07:00
splat-list.c Public Release Prep 2010-05-17 15:18:00 -07:00
splat-mutex.c Treat mutex->owner as volatile 2010-06-28 16:02:57 -07:00
splat-random.c Public Release Prep 2010-05-17 15:18:00 -07:00
splat-rwlock.c Fix incorrect krw_type_t type 2010-11-09 10:18:01 -08:00
splat-taskq.c Add taskq contention splat test 2012-01-18 10:36:51 -08:00
splat-thread.c Add Thread Specific Data (TSD) Regression Test 2010-12-07 10:02:44 -08:00
splat-time.c Public Release Prep 2010-05-17 15:18:00 -07:00
splat-vnode.c Linux 3.4 compat, __clear_close_on_exec replaces FD_CLR 2012-06-13 16:18:51 -07:00
splat-zlib.c Add zlib regression test 2011-02-25 16:56:46 -08:00