Re: [PATCH v4 1/2] rcu/tree: Add basic support for kfree_rcu() batching

From: Paul E. McKenney
Date: Sat Aug 17 2019 - 01:21:07 EST


On Sat, Aug 17, 2019 at 12:30:24AM -0400, Joel Fernandes wrote:
> On Fri, Aug 16, 2019 at 08:56:37PM -0700, Paul E. McKenney wrote:
> > On Fri, Aug 16, 2019 at 09:32:23PM -0400, Joel Fernandes wrote:
> > > Hi Paul,
> > >
> > > On Fri, Aug 16, 2019 at 3:16 PM Paul E. McKenney <paulmck@xxxxxxxxxxxxx> wrote:
> > > > > > Hello, Joel,
> > > > > >
> > > > > > I reworked the commit log as follows, but was then unsuccessful in
> > > > > > working out which -rcu commit to apply it to. Could you please
> > > > > > tell me what commit to apply this to? (Once applied, git cherry-pick
> > > > > > is usually pretty good about handling minor conflicts.)
> > > > >
> > > > > It was originally based on v5.3-rc2
> > > > >
> > > > > I was able to apply it just now to the rcu -dev branch and I pushed it here:
> > > > > https://github.com/joelagnel/linux-kernel.git (branch paul-dev)
> > > > >
> > > > > Let me know if any other issues, thanks for the change log rework!
> > > >
> > > > Pulled and cherry-picked, thank you!
> > > >
> > > > Just for grins, I also pushed out a from-joel.2019.08.16a showing the
> > > > results of the pull. If you pull that branch, then run something like
> > > > "gitk v5.3-rc2..", and then do the same with branch "dev", comparing the
> > > > two might illustrate some of the reasons for the current restrictions
> > > > on pull requests and trees subject to rebase.
> > >
> > > Right, I did the compare and see what you mean. I guess sending any
> > > future pull requests against Linux -next would be the best option?
> >
> > Hmmm... You really want to send some pull requests, don't you? ;-)
>
> I would be lying if I said I don't have the itch to ;-)
>
> > Suppose you had sent that pull request against Linux -next or v5.2
> > or wherever. What would happen next, given the high probability of a
> > conflict with someone else's patch? What would the result look like?
>
> One hopes that the tools are able to automatically resolve the resolution,
> however adequate re-inspection of the resulting code and testing it would be
> needed in either case, to ensure the conflict resolution (whether manual or
> automatic) happened correctly.

I didn't ask you to hope. I instead asked you what tell me what would
actually happen. ;-)

You could actually try this by randomly grouping the patches in -rcu
(say, placing every third patch into one of three groups), generating
separate pull requests, and then merging the pull requests together.
Then you wouldn't have to hope. You could instead look at it in (say)
gitk after the pieces were put together.

And there are more questions. For example, how would this affect testing
given issues involving both RCU and other pieces of the kernel?

> IIUC, this usually depends on the maintainer's preference on which branch to
> send patches against.
>
> Are you saying -rcu's dev branch is still the best option to send patches
> against, even though it is rebased often?

Sounds like we might need to discuss this face to face.

Thanx, Paul