On 1/6/25 08:21, Hyeonggon Yoo wrote: > > > On 2024-12-13 3:02 AM, Uladzislau Rezki (Sony) wrote: >> Hello! >> >> This is v2. It is based on the Linux 6.13-rc2. The first version is >> here: >> >> https://lore.kernel.org/linux-mm/20241210164035.3391747-4-urezki@xxxxxxxxx/T/ >> >> The difference between v1 and v2 is that, the preparation process is >> done in original place instead and after that there is one final move. >> >> Uladzislau Rezki (Sony) (5): >> rcu/kvfree: Initialize kvfree_rcu() separately >> rcu/kvfree: Move some functions under CONFIG_TINY_RCU >> rcu/kvfree: Adjust names passed into trace functions >> rcu/kvfree: Adjust a shrinker name >> mm/slab: Move kvfree_rcu() into SLAB >> >> include/linux/slab.h | 1 + >> init/main.c | 1 + >> kernel/rcu/tree.c | 876 ------------------------------------------ >> mm/slab_common.c | 880 +++++++++++++++++++++++++++++++++++++++++++ >> 4 files changed, 882 insertions(+), 876 deletions(-) > > Sorry for the late reply, but better late than never... > > FWIW, > > Acked-by: Hyeonggon Yoo <hyeonggon.yoo@xxxxxx> > Tested-by: Hyeonggon Yoo <hyeonggon.yoo@xxxxxx> Thanks, applied. > Thanks for all the efforts! > > By the way, any future plans how to take advantage of internal slab > state? One way is the sheaves effort which in the last RFC also replaced the way kfree_rcu() is handled for caches with enabled sheaves. Perhaps even without those we could consider e.g. doing the kfree_rcu() batching by grouping the pending frees per kmem cache, which could perhaps lead to more efficient flushing later. > -- > Hyeonggon