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

From: Uladzislau Rezki
Date: Tue Jun 30 2020 - 13:46:56 EST


On Mon, Jun 22, 2020 at 12:53:29PM -0700, Paul E. McKenney wrote:
> On Mon, Jun 22, 2020 at 09:04:06PM +0200, Uladzislau Rezki wrote:
> > > > >
> > > > > 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.
>
> I am not as worried about the high-level macros as I am about the code
> that does the bulk of the work, but they should still move as well.
> Otherwise, changes involving both the macros and the underlying
> implementation are harder than needed.
>
> > 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?
>
> I don't have any opinion on exactly where in mm the underlying
> implementation code should go. You suggestion of mm/slab_common.c
> seems fine to me. ;-)
>
OK :)

Then i would like to hear an opinion from the "mm" people where
kfree_rcu() and friends could potentially be moved.

Matthew, Michal, Vlastimil could you please share your view?

Thanks!

--
Vlad Rezki