slub: move discard_slab out of node lock
Lockdep reports there is potential deadlock for slub node list_lock. discard_slab() is called with the lock hold in unfreeze_partials(), which could trigger a slab allocation, which could hold the lock again. discard_slab() doesn't need hold the lock actually, if the slab is already removed from partial list. Acked-by: NChristoph Lameter <cl@linux.com> Reported-and-tested-by: NYong Zhang <yong.zhang0@gmail.com> Reported-and-tested-by: NJulie Sullivan <kernelmail.jms@gmail.com> Signed-off-by: NShaohua Li <shaohua.li@intel.com> Signed-off-by: NPekka Enberg <penberg@kernel.org>
Showing
想要评论请 注册 或 登录