Re: [PATCH v2 09/16] rcu/tree: Maintain separate array for vmalloc ptrs

Uladzislau Rezki
2020-06-22T19:04:16Z

> > >
> > > Very good. When does kfree_rcu() and friends move out of kernel/rcu?
> > >
> > Do you mean to move the whole logic of kfree_rcu() from top to down to mm/?
>
> I do mean exactly that.
>
> That was my goal some years back when Rao Shoaib was making the first
> attempt along these lines, and it remains my goal. After all, if this
> effort is at all successful, the coupling between kfree_rcu() with
> slab/slob/slub will become much tighter than that between kfree_rcu()
> and RCU.
>
> There will need to be some additional RCU APIs used by kfree_rcu(),
> for example, something to tell RCU how many blocks are awaiting a
> grace period. But these are narrow and easily defined APIs.
>
I also think that k[v]free_rcu() should reside somewhere under "mm/".
Currently they are defined as macros under "linux/rcupdate.h". So i
am not sure if definitions should stay there or moved also.

Implementation of the k[v]free_rcu() is under rcu/tree.c and for tiny
variant is under rcutiny.h. It can be moved to the mm/slab_common.c
or independent files can be created. I think, mm people should consult
what is the best way to go :)

Any thoughts on it?

Thank you!

--
Vlad Rezki