]> git.proxmox.com Git - mirror_zfs.git/commit
Add SPLAT test to exercise slab direct reclaim
authorPrakash Surya <surya1@llnl.gov>
Mon, 30 Apr 2012 22:37:49 +0000 (15:37 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 7 May 2012 18:55:59 +0000 (11:55 -0700)
commita9a7a01cf5a61fe170569ebb44d288111d0ddbeb
treedf801567c098d10ca170a61187499ddb226d1e2f
parentb78d4b9d98b8486199ba9072d7fc345121a4601f
Add SPLAT test to exercise slab direct reclaim

This test is designed to verify that direct reclaim is functioning as
expected.  We allocate a large number of objects thus creating a large
number of slabs.  We then apply memory pressure and expect that the
direct reclaim path can easily recover those slabs.  The registered
reclaim function will free the objects and the slab shrinker will call
it repeatedly until at least a single slab can be freed.

Note it may not be possible to reclaim every last slab via direct reclaim
without a failure because the shrinker_rwsem may be contended.  For this
reason, quickly reclaiming 3/4 of the slabs is considered a success.

This should all be possible within 10 seconds.  For reference, on a
system with 2G of memory this test takes roughly 0.2 seconds to run.
It may take longer on larger memory systems but should still easily
complete in the alloted 10 seconds.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #107
module/splat/splat-kmem.c