Messages in this thread | | | From | "Uladzislau Rezki (Sony)" <> | Subject | [PATCH v1 0/6] Introduce kvfree_rcu() logic | Date | Sun, 15 Mar 2020 19:18:34 +0100 |
| |
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
| |