aboutsummaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
authorChristoph Lameter <cl@linux.com>2011-08-09 16:12:22 -0500
committerPekka Enberg <penberg@kernel.org>2011-08-19 19:34:25 +0300
commit69cb8e6b7c2982e015d2b35a34ac2674c79e801c (patch)
tree37905e4cec71f96f2008e9d13c92cf0b976b3390 /virt
parentLinux 3.1-rc2 (diff)
downloadlinux-dev-69cb8e6b7c2982e015d2b35a34ac2674c79e801c.tar.xz
linux-dev-69cb8e6b7c2982e015d2b35a34ac2674c79e801c.zip
slub: free slabs without holding locks
There are two situations in which slub holds a lock while releasing pages: A. During kmem_cache_shrink() B. During kmem_cache_close() For A build a list while holding the lock and then release the pages later. In case of B we are the last remaining user of the slab so there is no need to take the listlock. After this patch all calls to the page allocator to free pages are done without holding any spinlocks. kmem_cache_destroy() will still hold the slub_lock semaphore. Signed-off-by: Christoph Lameter <cl@linux.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions