Skip to content

Introduce kvfree_rcu() logic

Uladzislau Rezki (Sony) linux-mm lkml rcu 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest6 patches 15 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6mm/list_lru.c: rename kvfree_rcu() to local variantmm/list_lru.c+3 -30 replies
2/6rcu: introduce kvfree_rcu() interfaceinclude/linux/rcupdate.h kernel/rcu/tiny.c kernel/rcu/tree.c+23 -66 replies
3/6rcu: rename rcu_invoke_kfree_callback/rcu_kfree_callbackinclude/trace/events/rcu.h kernel/rcu/tiny.c kernel/rcu/tree.c+7 -71 reply
4/6rcu: rename __is_kfree_rcu_offset() macroinclude/linux/rcupdate.h kernel/rcu/tiny.c kernel/rcu/tree.c+6 -61 reply
5/6rcu: rename kfree_call_rcu()/__kfree_rcu()include/linux/rcupdate.h include/linux/rcutiny.h include/linux/rcutree.h +1 more+10 -106 replies
6/6mm/list_lru.c: remove kvfree_rcu_local() functionmm/list_lru.c+3 -101 reply

Reviews trailers per patch

3 of 6 patches have a Reviewed-by or Acked-by.

PatchJoel Fernandes (Google)
1/6
2/6
3/6R-b
4/6R-b
5/6
6/6R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

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

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(-)
Signature · 1 line
2.20.1