[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200630174647.GA27057@pc636>
Date: Tue, 30 Jun 2020 19:46:47 +0200
From: Uladzislau Rezki <urezki@...il.com>
To: linux-mm@...ck.org, Matthew Wilcox <willy@...radead.org>,
vbabka@...e.cz, mhocko@...e.com
Cc: Uladzislau Rezki <urezki@...il.com>, linux-mm@...ck.org,
Matthew Wilcox <willy@...radead.org>,
LKML <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
"Theodore Y . Ts'o" <tytso@....edu>,
Joel Fernandes <joel@...lfernandes.org>,
RCU <rcu@...r.kernel.org>,
Oleksiy Avramchenko <oleksiy.avramchenko@...ymobile.com>
Subject: Re: [PATCH v2 09/16] rcu/tree: Maintain separate array for vmalloc
ptrs
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
Powered by blists - more mailing lists