* [MAINTAINERS SUMMIT] Merge tree too flat?
@ 2024-06-04 22:03 Jiri Kosina
2024-06-04 22:21 ` Steven Rostedt
2024-06-04 22:33 ` Sasha Levin
0 siblings, 2 replies; 8+ messages in thread
From: Jiri Kosina @ 2024-06-04 22:03 UTC (permalink / raw)
To: ksummit
On last year's maintainer summit, there was a session where Linus asked
the participants to bring up topics / questions [1].
I myself was the one raising the concern of the merge tree feeling a
little bit too flat, and there seemed to be general agreement on that.
Checking the git repository as of now, it seems like we have not changed
anything in that respect over the past year, and a lot of things are going
directly to Linus although they could be cascaded a little bit better,
contributing to better load-balancing on all maintainer levels (including
the top-level one, of course).
I'd like to propose this as a proper discussion topic slot this year, by
e.g. looking at:
- the actual numbers and current merge graph
- is this really something that could improve maintainer load (on all
levels) and throughput if done properly?
- how could we motivate maintainers to change the process and delegate
more into proper hierarchical sub-trees?
- potentially identify particular trees and changes that could be made in
the merge graph/path to improve the process
[1] https://lwn.net/Articles/952146/
--
Jiri Kosina
SUSE Labs
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [MAINTAINERS SUMMIT] Merge tree too flat?
2024-06-04 22:03 [MAINTAINERS SUMMIT] Merge tree too flat? Jiri Kosina
@ 2024-06-04 22:21 ` Steven Rostedt
2024-06-04 22:34 ` Jiri Kosina
2024-06-04 22:33 ` Sasha Levin
1 sibling, 1 reply; 8+ messages in thread
From: Steven Rostedt @ 2024-06-04 22:21 UTC (permalink / raw)
To: Jiri Kosina; +Cc: ksummit
On Wed, 5 Jun 2024 00:03:45 +0200 (CEST)
Jiri Kosina <jikos@kernel.org> wrote:
> On last year's maintainer summit, there was a session where Linus asked
> the participants to bring up topics / questions [1].
>
> I myself was the one raising the concern of the merge tree feeling a
> little bit too flat, and there seemed to be general agreement on that.
>
> Checking the git repository as of now, it seems like we have not changed
> anything in that respect over the past year, and a lot of things are going
> directly to Linus although they could be cascaded a little bit better,
> contributing to better load-balancing on all maintainer levels (including
> the top-level one, of course).
Note, the git tree may hide some hierarchy too. For example, I'm starting
to do pulls from Daniel Bristot for his rtla tooling. But since I have a
topic branch for his work, I just do a fetch from his pull request, and
then copy his pull request cover letter (with some tweaks) directly to Linus.
Although it may look like I'm pulling in Daniel's patches, I'm not. I
review them, but I'm more of a middle man between him and Linus.
>
> I'd like to propose this as a proper discussion topic slot this year, by
> e.g. looking at:
>
> - the actual numbers and current merge graph
Now one thing I have started doing at Linus's request, is to make more
topic branches. This way if there's something that he doesn't like, he can
give it a line-item-veto, and I don't have to rebase everything.
This actually makes things easier to maintain. Perhaps maintainers should just
start splitting up their work? This may increase Linus's pull requests, but
it may also make it it easier for him to do those pulls. It is similar to
breaking up a change into many patches. Yes, there may be more patches to
review, but those patches are much easier to review than one big one. I
think the same can be said for pull requests.
The sad part is, the more topic branches you have, it will make the tree
look even flatter.
>
> - is this really something that could improve maintainer load (on all
> levels) and throughput if done properly?
Topic branches.
>
> - how could we motivate maintainers to change the process and delegate
> more into proper hierarchical sub-trees?
Now with more topic branches, it may be even easier to get others to take
over. Daniel does changes for rtla, and Masami Hiramatsu does all the probe
logic. Perhaps the first step is just to have maintainers split up their
work.
-- Steve
>
> - potentially identify particular trees and changes that could be made in
> the merge graph/path to improve the process
>
> [1] https://lwn.net/Articles/952146/
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [MAINTAINERS SUMMIT] Merge tree too flat?
2024-06-04 22:03 [MAINTAINERS SUMMIT] Merge tree too flat? Jiri Kosina
2024-06-04 22:21 ` Steven Rostedt
@ 2024-06-04 22:33 ` Sasha Levin
2024-06-04 22:38 ` Jiri Kosina
1 sibling, 1 reply; 8+ messages in thread
From: Sasha Levin @ 2024-06-04 22:33 UTC (permalink / raw)
To: Jiri Kosina; +Cc: ksummit
On Wed, Jun 05, 2024 at 12:03:45AM +0200, Jiri Kosina wrote:
>On last year's maintainer summit, there was a session where Linus asked
>the participants to bring up topics / questions [1].
>
>I myself was the one raising the concern of the merge tree feeling a
>little bit too flat, and there seemed to be general agreement on that.
>
>Checking the git repository as of now, it seems like we have not changed
>anything in that respect over the past year, and a lot of things are going
>directly to Linus although they could be cascaded a little bit better,
>contributing to better load-balancing on all maintainer levels (including
>the top-level one, of course).
I'm not sure we should be pushing for a more hierarchial tree. Yes, it's
flat, but is it the issue we're trying to address?
With heirarchy, we're asking folks to layer one on top of the other, but
for most subsystems this doesn't work as well (outside, maybe, drivers
that fall under a single subsystem).
I'd argue that what we want is more co-maintainer groups where several
folks share the burden. This, in turn, makes the tree look flat (all of
"x86" is one maintainer group, for example).
I'd also point to the LWN article you've linked: the flat model isn't
called out as an issue either by Linus or by the rest of the group
(which is what I recall from the discussion). Yes, it's flat, but the
solution isn't to make it a pyramid.
--
Thanks,
Sasha
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [MAINTAINERS SUMMIT] Merge tree too flat?
2024-06-04 22:21 ` Steven Rostedt
@ 2024-06-04 22:34 ` Jiri Kosina
2024-06-04 22:45 ` Steven Rostedt
0 siblings, 1 reply; 8+ messages in thread
From: Jiri Kosina @ 2024-06-04 22:34 UTC (permalink / raw)
To: Steven Rostedt; +Cc: ksummit
On Tue, 4 Jun 2024, Steven Rostedt wrote:
> Note, the git tree may hide some hierarchy too. For example, I'm starting
> to do pulls from Daniel Bristot for his rtla tooling. But since I have a
> topic branch for his work, I just do a fetch from his pull request, and
> then copy his pull request cover letter (with some tweaks) directly to Linus.
Right; that's exactly how it should be done in my view.
But if Daniel's tree has always fed into yours (no matter whether the 'git
merge' way or 'apply patch' way), in doesn't really decrease the net
effort one level above.
> > - is this really something that could improve maintainer load (on all
> > levels) and throughput if done properly?
>
> Topic branches.
Oh, if you check hid.git, you'll see I am a huge fan of topic branches :)
We have a topic branch pretty much for every driver (and we have quite a
number of them), plus one for patches to core.
And it has worked pretty well for many years already, the only downside I
can imagine being that the ultimate 'for-linus' (or whatever else
for-upstream) branch/tag is seeing quite a lot of driver-specific branches
being merged. But I don't think that's a big problem.
> > - how could we motivate maintainers to change the process and delegate
> > more into proper hierarchical sub-trees?
>
> Now with more topic branches, it may be even easier to get others to take
> over. Daniel does changes for rtla, and Masami Hiramatsu does all the probe
> logic. Perhaps the first step is just to have maintainers split up their
> work.
Agreed.
--
Jiri Kosina
SUSE Labs
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [MAINTAINERS SUMMIT] Merge tree too flat?
2024-06-04 22:33 ` Sasha Levin
@ 2024-06-04 22:38 ` Jiri Kosina
0 siblings, 0 replies; 8+ messages in thread
From: Jiri Kosina @ 2024-06-04 22:38 UTC (permalink / raw)
To: Sasha Levin; +Cc: ksummit
On Tue, 4 Jun 2024, Sasha Levin wrote:
> I'm not sure we should be pushing for a more hierarchial tree. Yes, it's
> flat, but is it the issue we're trying to address?
That's one of the postulated questions :)
Distributing the merge load more evenly (by eliminating "hot spots" where
a lot of merges are happening all the time) might help with the overload
in some areas.
> I'd argue that what we want is more co-maintainer groups where several
> folks share the burden. This, in turn, makes the tree look flat (all of
> "x86" is one maintainer group, for example).
tip tree is a great example of this being implemented by a load of topic
branches. Not much to be improved in that particular area, I'd say :)
Thanks,
--
Jiri Kosina
SUSE Labs
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [MAINTAINERS SUMMIT] Merge tree too flat?
2024-06-04 22:34 ` Jiri Kosina
@ 2024-06-04 22:45 ` Steven Rostedt
2024-06-05 11:31 ` Mark Brown
0 siblings, 1 reply; 8+ messages in thread
From: Steven Rostedt @ 2024-06-04 22:45 UTC (permalink / raw)
To: Jiri Kosina; +Cc: ksummit
On Wed, 5 Jun 2024 00:34:04 +0200 (CEST)
Jiri Kosina <jikos@kernel.org> wrote:
> On Tue, 4 Jun 2024, Steven Rostedt wrote:
>
> > Note, the git tree may hide some hierarchy too. For example, I'm starting
> > to do pulls from Daniel Bristot for his rtla tooling. But since I have a
> > topic branch for his work, I just do a fetch from his pull request, and
> > then copy his pull request cover letter (with some tweaks) directly to Linus.
>
> Right; that's exactly how it should be done in my view.
>
> But if Daniel's tree has always fed into yours (no matter whether the 'git
> merge' way or 'apply patch' way), in doesn't really decrease the net
> effort one level above.
I disagree. I use to take his patches and pull them in. But having him do
it, and also write the pull request, makes my job so much easier.
Note, I review his work, but not some much as if I were to review his
patches. I look at it at a different level when it's a pull request. I
trust Daniel enough to not go through his work with a fine comb, but
instead just look to make sure the general idea is sound.
How would imagine this being different than having a hierarchy. I would be
doing the same thing if I had done a merge. Actually, it is a merge, but I
do a "fast-forward" merge since he's the only one modifying the topic
branch. And it would look funny if I had done a merge, and then send the
same merge to Linus, where we have two merges back to back. Hence why I do
a fast-forward merge and use his pull request commit message in the one I
send to Linus.
-- Steve
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [MAINTAINERS SUMMIT] Merge tree too flat?
2024-06-04 22:45 ` Steven Rostedt
@ 2024-06-05 11:31 ` Mark Brown
2024-06-14 9:15 ` Wolfram Sang
0 siblings, 1 reply; 8+ messages in thread
From: Mark Brown @ 2024-06-05 11:31 UTC (permalink / raw)
To: Steven Rostedt; +Cc: Jiri Kosina, ksummit
[-- Attachment #1: Type: text/plain, Size: 1264 bytes --]
On Tue, Jun 04, 2024 at 06:45:06PM -0400, Steven Rostedt wrote:
> Jiri Kosina <jikos@kernel.org> wrote:
> > Right; that's exactly how it should be done in my view.
> > But if Daniel's tree has always fed into yours (no matter whether the 'git
> > merge' way or 'apply patch' way), in doesn't really decrease the net
> > effort one level above.
> I disagree. I use to take his patches and pull them in. But having him do
> it, and also write the pull request, makes my job so much easier.
> Note, I review his work, but not some much as if I were to review his
> patches. I look at it at a different level when it's a pull request. I
> trust Daniel enough to not go through his work with a fine comb, but
> instead just look to make sure the general idea is sound.
I don't think the mechanics of how patches get moved about has a huge
impact on the effort involved - trust and delegation make much more of
a difference. I've got several areas where other people are reviewing
large volumes of patches before I ever see them, those take me almost no
time compared to what comes to me directly because of the level of trust
I place in these reviewers. These differences aren't really obvious in
the git history but they're very real.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [MAINTAINERS SUMMIT] Merge tree too flat?
2024-06-05 11:31 ` Mark Brown
@ 2024-06-14 9:15 ` Wolfram Sang
0 siblings, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2024-06-14 9:15 UTC (permalink / raw)
To: Mark Brown; +Cc: Steven Rostedt, Jiri Kosina, ksummit
[-- Attachment #1: Type: text/plain, Size: 1330 bytes --]
> I don't think the mechanics of how patches get moved about has a huge
> impact on the effort involved
50:50, in my case.
> - trust and delegation make much more of a difference. I've got
> several areas where other people are reviewing large volumes of
> patches before I ever see them,
This is also true for me. When I called out for per-driver maintainers,
this made the flood of patches bearable. All of the driver maintainers
prefer to review only, though, and let me handle the rest. This is
totally fine with me. I'd likely lose some reviewers if I force to them
to provide me with separate branches.
The other part is: a few months ago Andi Shyti took over the maintenance
of the I2C controller patches. He updates patchwork, handles
dependencies, decides on for-current and for-next, writes pull
requests... That frees so much time that I have actually time left to
work on the core code again and give high-level guidance how to tackle
problems. So, this really helps as well.
That basically boils down to what I said last year at the Maintainer
Summit: In some parts of the Kernel, there is no flexibility to redesign
the hierarchy. The limited amount of people interested in maintaining
and their needs already shape the workflow. And for me, this is also the
primary reason why the merge-tree looks so flat.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-06-14 9:15 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-04 22:03 [MAINTAINERS SUMMIT] Merge tree too flat? Jiri Kosina
2024-06-04 22:21 ` Steven Rostedt
2024-06-04 22:34 ` Jiri Kosina
2024-06-04 22:45 ` Steven Rostedt
2024-06-05 11:31 ` Mark Brown
2024-06-14 9:15 ` Wolfram Sang
2024-06-04 22:33 ` Sasha Levin
2024-06-04 22:38 ` Jiri Kosina
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox