[PATCH v1 0/6] Introduce kvfree_rcu() logic

From: Uladzislau Rezki (Sony)
Date: Sun Mar 15 2020 - 14:19:02 EST


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