[PATCH rcu 0/8] kvfree_rcu() changes for v6.5

From: Paul E. McKenney
Date: Wed May 10 2023 - 13:03:12 EST


Hello!

This series contains updates for kvfree_rcu(), perhaps most notably
the removal of single-argument k{,v}free_rcu() in favor of the new-ish
k{,v}free_rcu_mightsleep().

1. rcu/kvfree: Eliminate k[v]free_rcu() single argument macro,
courtesy of "Uladzislau Rezki (Sony)".

2. rcu/kvfree: Add debug to check grace periods.

3. rcu/kvfree: Add debug check for GP complete for kfree_rcu_cpu
list, courtesy of "Uladzislau Rezki (Sony)".

4. rcu/kvfree: Invoke debug_rcu_bhead_unqueue() after checking
bnode->gp_snap, courtesy of Zqiang.

5. rcu/kvfree: Use consistent krcp when growing kfree_rcu() page
cache, courtesy of Zqiang.

6. rcu/kvfree: Do not run a page work if a cache is disabled,
courtesy of "Uladzislau Rezki (Sony)".

7. rcu/kvfree: Make fill page cache start from krcp->nr_bkv_objs,
courtesy of Zqiang.

8. rcu/kvfree: Make drain_page_cache() take early return if cache
is disabled, courtesy of Zqiang.

Thanx, Paul

------------------------------------------------------------------------

b/include/linux/rcupdate.h | 29 ++++++++---------------------
b/kernel/rcu/tree.c | 37 +++++++++++++++++++------------------
kernel/rcu/tree.c | 21 +++++++++++++++++----
3 files changed, 44 insertions(+), 43 deletions(-)