]> granicus.if.org Git - zfs/commit
kmem-cache: Use a taskq for async allocations
authorBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 10 Dec 2012 21:40:03 +0000 (13:40 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 12 Dec 2012 17:56:54 +0000 (09:56 -0800)
commit33e94ef1dd2678e28a5fbdb80f4ce35fd8c85974
tree2e47c07c42030aee3d1922abec2765d75f2f6e3b
parenta10287e00d13c4c4dbbff14f42b00b03da363fcb
kmem-cache: Use a taskq for async allocations

Shift the asynchronous allocations over to use the taskq interfaces.
This allows us to abandon the kernels delayed work queue interface
and all the compatibility code it requires.

This code never actually used the delay functionality it was just
done this way to leverage the existing compatibility code.  All that
is required is a thread context to perform the allocation in.  The
only thing clever in this change is that we take advantage of the
preallocated task queue entries to avoid a memory allocation.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
include/sys/kmem.h
module/spl/spl-kmem.c