From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Lennert Buytenhek <buytenh@wantstofly.org>
Cc: Linus Torvalds <torvalds@osdl.org>, Dave Jones <davej@redhat.com>,
David Miller <davem@davemloft.net>,
jeff@garzik.org, davidsen@tmr.com, alan@lxorguk.ukuu.org.uk,
linux-kernel@vger.kernel.org
Subject: Re: 2.6.19 -mm merge plans
Date: Sun, 24 Sep 2006 10:20:10 +0100 [thread overview]
Message-ID: <20060924092010.GC17639@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20060924074837.GB13487@xi.wantstofly.org>
On Sun, Sep 24, 2006 at 09:48:37AM +0200, Lennert Buytenhek wrote:
> On Fri, Sep 22, 2006 at 09:21:32AM -0700, Linus Torvalds wrote:
> > I personally prefer to not see _too_ many pull requests, since that
> > to me indicates that people don't take advantage of the distributed
> > nature of git, and don't let things "simmer" in their own tree for
> > a while.
>
> Changes that span sub-architectures (such as genirq) are usually
> discussed on the mailing list first, and tested before they get
> committed to any tree. I.e. on the few occasions that we do need
> to test ARM-wide changes, we just email patches around rather than
> asking folks "whether 2.6.30-rmk42 works."
Let's look at how two scenarios work for the case of the genirq patches.
1. genirq remains as patches until it's ready (iow, what actually happened)
- patches as a series were posted to the mailing list with a request
to test.
- feedback came, the patches were improved, and this repeated several
times
- eventually, people are happy
- in parallel, because these patches affect other architectures, they
were also submitted to -mm.
- the generic parts of genirq were submitted to Linus.
- once the generic parts of genirq are in mainline, the ARM specific
parts can then be applied to my git tree, and be sent to Linus.
2. genirq patches in ARM git tree.
- the initial entire patches get applied to the ARM tree on a
separate branch.
- the patches get mailed to the ARM mailing list as one large patch.
- feedback comes to me/mailing list rather than CC:'d to the genirq
people.
- maybe the genirq people send updates to me, which then need to be
applied to the ARM tree, and the result needs to be re-published.
- we go around the loop several times, maybe merging in later mainline
versions.
- in parallel with this, the non-ARM parts of genirq are submitted to
-mm.
- when the patches are ready, the generic parts are submitted to
Linus.
- rmk then faces a _big_ problem in resolving lots of conflicts in
his tree, because the generic parts submitted to Linus are different
from the initial generic parts committed to the ARM git tree.
- the ARM git tree for genirq probably has to be rebuilt from scratch.
Sure, someone else _could_ maintain genirq in their own git tree, so
replace "rmk" above with "tglx". The overall problem remains though -
at the end of it you can't push that git tree with all that history,
and the whole thing can't go via just one person. This in turn means
that there's a chunk of additional work to rework the changes (which
may introduce bugs) and then an additional round of re-testing to make
sure nothing broke.
The point I'm making is that for some things, keeping the changes as
patches until they're ready is far easier, more worthwhile and flexible
than having them simmering in some git tree somewhere.
> For example, a driver for the ethernet MAC in the ARM cpu that I have
> here was recently applied by jgarzik, but I cannot submit the arch/arm
> hooks to make use of this driver until jgarzik's tree is merged upstream
> _and_ rmk rebases the half a megabyte of pending ARM changes on this
> tree. If I submit the hooks to rmk when the driver goes upstream, rmk's
> private tree (probably still based on 2.6.18 when that happens, so won't
> have the relevant netdev changes) will break.
>
> To make making these kinds of changes easier without sending stuff
> upstream so regularly, rmk would have to either pull from upstream
> regularly or rebase his tree on upstream regularly, both of which
> don't seem like desirable options.
I believe that Linus has complained to tree maintainers when they've
done this because it complicates the history far too much.
Consider the effect on the history if I were to pull Linus' tree daily
into my trees, and I was committing about one change per day. You'd
have:
linus---othercommits--------othercommits---------othercommits-------merge
\ \ \ \ /
commit --- merge --- commit --- merge --- commit --- merge --- commit
The other solution is that I somehow start reviewing drivers for any
part of the kernel and accepting them. However, as we've seen already
on lkml, if anyone who isn't jgarzik accepts a change to a network
device driver and passes it to Linus, they get a roasting from Jeff
(see Dominic's incident when adding some additional PCMCIA IDs to PCMCIA
network device drivers.)
>From the point of view of keeping an ARM tree, I've been in that situation
before - from the beginnings of ARM support on Linux until the advent of
bitkeeper. This was when I had my own tree which was published regularly.
The problem that posed is that the tree was seen as "the ARM tree" where
_everything_ to do with ARM (be it device drivers) was _dumped_. Once it
was in there, the original authors decided that their job was done and
walked away.
The result was that I accumulated almost 1MB of compressed patch, and
we _never_ got to the situation where the merged ARM mainline was in
a buildable state despite _years_ of work to try to get it there. The
closest we got was one of the 2.4-ac trees, just before Alan quit doing
them (which might have been a contributary reason.)
To date, none of the 2.4 trees is buildable for ARM.
The biggest problem with it is synchronising changes with other trees,
and persuading other people to submit things to the relevant people.
Either such a tree accepts the ARM specific bits along side the device
drivers (and then ends up with a review and bypassing other maintainers
problem, resulting in the tree owner getting regularly roasted) or
they get moaned at for not accepting device driver patches which are
dependent on other changes in that tree.
Since then, I've vowed to _never_ maintain such a "community" tree ever
again. I credit 2.6 being buildable for ARM entirely on the choice to
get rid of this tree.
--
Russell King
2.6 ARM Linux - http://www.arm.linux.org.uk/
next prev parent reply other threads:[~2006-09-24 9:20 UTC|newest]
Thread overview: 129+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-20 20:54 2.6.19 -mm merge plans Andrew Morton
2006-09-20 21:08 ` Jeff Garzik
2006-09-20 21:42 ` Badari Pulavarty
2006-09-20 21:53 ` USB: fix autosuspend-autoresume with CONFIGRe: " Jiri Kosina
2006-09-20 22:09 ` Andrew Morton
2006-09-20 22:41 ` Greg KH
2006-09-20 21:55 ` Autofs4 breakage (was 2.6.19 -mm merge plans) Trond Myklebust
2006-09-20 22:13 ` Andrew Morton
2006-09-21 3:39 ` Andrew Morton
2006-09-21 23:25 ` Trond Myklebust
2006-09-22 15:55 ` Andrew Morton
2006-09-26 4:10 ` Ian Kent
2006-09-21 0:09 ` 2.6.19 -mm merge plans Martin J. Bligh
2006-09-21 0:22 ` ZONE_DMA (was: Re: 2.6.19 -mm merge plans) Andrew Morton
2006-09-21 0:31 ` Christoph Lameter
2006-09-21 1:03 ` Alan Cox
2006-09-21 15:59 ` James Bottomley
2006-09-21 0:50 ` ZONE_DMA Martin J. Bligh
2006-09-21 1:10 ` ZONE_DMA Christoph Lameter
2006-09-21 1:23 ` ZONE_DMA Martin J. Bligh
2006-09-21 15:58 ` ZONE_DMA Christoph Lameter
2006-09-21 16:57 ` ZONE_DMA Martin Bligh
2006-09-21 17:54 ` ZONE_DMA Christoph Lameter
2006-09-21 23:15 ` ZONE_DMA Martin Bligh
2006-09-22 2:59 ` ZONE_DMA Christoph Lameter
2006-09-22 17:21 ` ZONE_DMA Jesse Barnes
2006-09-22 17:39 ` ZONE_DMA Jesse Barnes
2006-09-22 18:08 ` ZONE_DMA Christoph Lameter
2006-09-22 18:26 ` ZONE_DMA Jesse Barnes
2006-09-22 18:32 ` ZONE_DMA Christoph Lameter
2006-09-22 18:39 ` ZONE_DMA Jesse Barnes
2006-09-22 18:40 ` ZONE_DMA Christoph Lameter
2006-09-22 19:06 ` ZONE_DMA Jesse Barnes
2006-09-22 19:07 ` ZONE_DMA Christoph Lameter
2006-09-22 17:35 ` ZONE_DMA Martin Bligh
2006-09-22 17:37 ` ZONE_DMA Christoph Lameter
2006-09-21 0:40 ` 2.6.19 -mm merge plans Christoph Lameter
2006-09-21 2:28 ` 2.6.19 -mm merge plans (NTP changes) john stultz
2006-09-21 2:40 ` Andrew Morton
2006-09-21 10:24 ` Roman Zippel
2006-09-25 16:50 ` john stultz
2006-09-25 17:04 ` Ray Lee
2006-09-25 17:38 ` Roman Zippel
2006-09-21 4:22 ` 2.6.19 -mm merge plans Jeff Garzik
2006-09-21 5:07 ` Andrew Morton
2006-09-21 5:23 ` Linus Torvalds
2006-09-21 9:12 ` Alan Cox
2006-09-21 6:36 ` Jeff Garzik
2006-09-21 6:48 ` Andrew Morton
2006-09-21 11:10 ` Rafael J. Wysocki
2006-09-22 13:16 ` release cycle (Re: 2.6.19 -mm merge plans) Pavel Machek
2006-09-21 9:16 ` 2.6.19 -mm merge plans Alan Cox
2006-09-21 10:55 ` Jan Engelhardt
2006-09-21 15:25 ` Linus Torvalds
2006-09-21 15:50 ` Jan Engelhardt
2006-09-21 17:59 ` Andrew Morton
2006-09-21 18:20 ` Jeff Garzik
2006-09-21 18:22 ` Linus Torvalds
2006-09-21 18:33 ` Jeff Garzik
2006-09-21 18:55 ` Andrew Morton
2006-09-21 19:46 ` Adrian Bunk
2006-09-21 20:37 ` Diego Calleja
2006-09-21 21:35 ` Randy.Dunlap
2006-09-21 20:38 ` Jeff Garzik
2006-09-21 20:49 ` Adrian Bunk
2006-09-21 21:33 ` Bill Davidsen
2006-09-21 21:33 ` Jeff Garzik
2006-09-21 21:52 ` David Miller
2006-09-21 22:05 ` Dave Jones
2006-09-21 22:44 ` David Miller
2006-09-22 8:35 ` Russell King
2006-09-22 15:48 ` Dave Jones
2006-09-22 16:21 ` Linus Torvalds
2006-09-22 20:08 ` Roland Dreier
2006-09-22 20:22 ` Jeff Garzik
2006-09-23 8:29 ` Ryan Anderson
2006-09-24 7:48 ` Lennert Buytenhek
2006-09-24 9:20 ` Russell King [this message]
2006-09-24 19:38 ` Mike Galbraith
[not found] ` <20060924142353.6c725128.seanlkml@sympatico.ca>
2006-09-24 18:23 ` Sean
2006-09-24 22:34 ` Stefan Richter
[not found] ` <20060924190758.132c0008.seanlkml@sympatico.ca>
2006-09-24 23:07 ` Sean
2006-09-24 23:09 ` Russell King
[not found] ` <20060924192308.ef60880a.seanlkml@sympatico.ca>
2006-09-24 23:23 ` Sean
2006-09-25 0:48 ` Linus Torvalds
2006-10-11 14:09 ` Pierre Ossman
2006-09-22 16:24 ` Alan Cox
2006-09-22 16:08 ` Dave Jones
2006-09-22 16:29 ` Jeff Garzik
2006-09-22 17:09 ` Dave Jones
2006-09-22 17:11 ` Dave Jones
2006-09-22 18:26 ` Jeff Garzik
2006-09-22 18:26 ` Andrew Morton
2006-09-24 6:33 ` Lennert Buytenhek
2006-09-22 1:03 ` Bill Davidsen
2006-09-24 18:51 ` Ingo Molnar
2006-09-25 3:07 ` Nick Piggin
2006-09-25 11:53 ` Ingo Molnar
2006-09-25 18:57 ` Rafael J. Wysocki
2006-09-22 6:33 ` Andi Kleen
2006-09-23 8:06 ` Andrew Morton
2006-09-23 9:52 ` David Woodhouse
2006-09-21 13:14 ` Ingo Molnar
2006-09-21 17:35 ` Andrew Morton
2006-09-22 13:06 ` Pavel Machek
2006-09-22 19:01 ` Ingo Molnar
2006-09-22 20:29 ` hires timer patchset [was Re: 2.6.19 -mm merge plans] Bill Rugolsky Jr.
2006-09-23 11:07 ` 2.6.19 -mm merge plans Pavel Machek
2006-09-22 20:12 ` Dave Jones
2006-09-21 14:04 ` Apple Motion Sensor (was: 2.6.19 -mm merge plans) Michael Hanselmann
[not found] ` <20060921234637.GA9742@mail.ustc.edu.cn>
2006-09-21 23:46 ` 2.6.19 -mm merge plans Fengguang Wu
2006-09-21 23:59 ` Andrew Morton
[not found] ` <20060922003223.GA9952@mail.ustc.edu.cn>
2006-09-22 0:32 ` Fengguang Wu
2006-09-23 14:48 ` Gene Heskett
[not found] ` <20060924024239.GA11671@mail.ustc.edu.cn>
2006-09-24 2:42 ` Fengguang Wu
2006-09-24 14:25 ` Diego Calleja
2006-09-22 9:24 ` David Woodhouse
2006-09-22 10:10 ` David Woodhouse
2006-09-22 10:42 ` Jan Engelhardt
2006-09-22 11:20 ` David Woodhouse
2006-09-22 14:48 ` Randy.Dunlap
2006-09-23 10:44 ` David Woodhouse
2006-09-22 12:32 ` 2.6.19 -mm merge plans: AVR32 Haavard Skinnemoen
2006-09-22 14:42 ` 2.6.19 -mm merge plans Christoph Hellwig
2006-09-22 16:03 ` 2.6.19 -mm merge plans (ecryptfs) Andrew Morton
2006-09-22 16:53 ` Michael Halcrow
2006-09-25 14:59 ` [PATCH -mm updated] PCMCIA: Add few IDs into ide-cs Marcin Juszkiewicz
2006-09-25 15:48 ` Alan Cox
-- strict thread matches above, loose matches on Subject: below --
2006-09-22 2:00 2.6.19 -mm merge plans linux
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060924092010.GC17639@flint.arm.linux.org.uk \
--to=rmk+lkml@arm.linux.org.uk \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=buytenh@wantstofly.org \
--cc=davej@redhat.com \
--cc=davem@davemloft.net \
--cc=davidsen@tmr.com \
--cc=jeff@garzik.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox