mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 18:59:33 +03:00
efcd0ca32d
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> |
||
---|---|---|
.. | ||
Makefile.in | ||
splat-atomic.c | ||
splat-condvar.c | ||
splat-cred.c | ||
splat-ctl.c | ||
splat-generic.c | ||
splat-internal.h | ||
splat-kmem.c | ||
splat-kobj.c | ||
splat-linux.c | ||
splat-list.c | ||
splat-mutex.c | ||
splat-random.c | ||
splat-rwlock.c | ||
splat-taskq.c | ||
splat-thread.c | ||
splat-time.c | ||
splat-vnode.c | ||
splat-zlib.c |