From: Rao Shoaib <rao.shoaib@xxxxxxxxxx> This patch moves kfree_call_rcu() out of rcu related code to mm/slab_common and updates kfree_rcu() to use new bulk memory free functions as they are more efficient. This is a resubmission of the previous patch. Changes: 1) checkpatch.pl has been fixed, so kfree_rcu macro is much simpler 2) To handle preemption, preempt_enable()/preempt_disable() statements have been added to __rcu_bulk_free(). Rao Shoaib (2): Move kfree_call_rcu() to slab_common.c kfree_rcu() should use kfree_bulk() interface include/linux/mm.h | 5 ++ include/linux/rcupdate.h | 43 +----------- include/linux/rcutiny.h | 8 ++- include/linux/rcutree.h | 2 - include/linux/slab.h | 42 ++++++++++++ kernel/rcu/tree.c | 24 +++---- kernel/sysctl.c | 40 +++++++++++ mm/slab.h | 23 +++++++ mm/slab_common.c | 172 +++++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 302 insertions(+), 57 deletions(-) -- 2.7.4