]> granicus.if.org Git - spl/commit
Enhance SPLAT kmem:slab_overcommit test
authorBrian Behlendorf <behlendorf1@llnl.gov>
Sun, 26 Aug 2012 20:34:06 +0000 (13:34 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 30 Aug 2012 22:49:00 +0000 (15:49 -0700)
commitefcd0ca32d099b0dcb556617c82403c150e6018b
treef2deca28296fc0ea9aeb6d2f9e5fd77ffef3da52
parentcd5ca4b2f86a606aa6ed68341a3672fdde1c9856
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>
module/splat/splat-kmem.c