Hi Paul,I left it out on purpose because the call in tiny is a little different rcutiny.h: static inline void kfree_call_rcu(struct rcu_head *head, A A A A A A A A A A A A A void (*func)(struct rcu_head *rcu)) { A A A call_rcu(head, func); } tree.c: void kfree_call_rcu(struct rcu_head *head, A A A A A A A A A void (*func)(struct rcu_head *rcu)) { A A A __call_rcu(head, func, rcu_state_p, -1, 1); } EXPORT_SYMBOL_GPL(kfree_call_rcu); If we want the code to be exactly same I can create a lazy version for tiny as well. However,A I don not know where to move kfree_call_rcu() from it's current home in rcutiny.h though. Any thoughts ?I might be missing something subtle here, but in case I am not, my suggestion is to simply rename rcutiny.h's kfree_call_rcu() and otherwise leave it as is. If you want to update the type of the second argument, which got missed back in the day, there is always this: static inline void call_rcu_lazy(struct rcu_head *head, rcu_callback_t func) { call_rcu(head, func); } The reason that Tiny RCU doesn't handle laziness specially is because Tree RCU's handling of laziness is a big no-op on the single CPU systems on which Tiny RCU runs. So Tiny RCU need do nothing special to support laziness. Thanx, Paul