This small series introduces kvfree_rcu() API. An interface is the same as kfree_rcu(), i.e. a structure that is about to be freed, after GP, has to embed an "rcu_head" inside. Currently we have one user that is mm/list_lru.c, but there was also request/interest so there will be new comers. Also there was a discussion about having kvfree_rcu() but head-less variant. So this series is also a way forward to it and next step is to introduce it. For example ext4 needs it. It is based on dev.2020.03.11b branch. Uladzislau Rezki (Sony) (6): mm/list_lru.c: rename kvfree_rcu() to local variant rcu: introduce kvfree_rcu() interface rcu: rename rcu_invoke_kfree_callback/rcu_kfree_callback rcu: rename __is_kfree_rcu_offset() macro rcu: rename kfree_call_rcu()/__kfree_rcu() mm/list_lru.c: remove kvfree_rcu_local() function include/linux/rcupdate.h | 23 ++++++++++++++++------- include/linux/rcutiny.h | 2 +- include/linux/rcutree.h | 2 +- include/trace/events/rcu.h | 8 ++++---- kernel/rcu/tiny.c | 7 ++++--- kernel/rcu/tree.c | 33 ++++++++++++++++++++------------- mm/list_lru.c | 11 ++--------- 7 files changed, 48 insertions(+), 38 deletions(-) -- 2.20.1