Re: new dev model (was Re: Default cache_hot_time value back to 10ms)
From: Jeff Garzik
Date: Wed Oct 06 2004 - 14:44:00 EST
Andrew Morton wrote:
Jeff Garzik <jgarzik@xxxxxxxxx> wrote:
Andrew Morton wrote:
Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:
Any thoughts about making -rc's into -pre's, and doing real -rc's?
I think what we have is OK. The idea is that once 2.6.9 is released we
merge up all the well-tested code which is sitting in various trees and has
been under test for a few weeks. As soon as all that well-tested code is
merged, we go into -rc. So we're pipelining the development of 2.6.10 code
with the stabilisation of 2.6.9.
If someone goes and develops *new* code after the release of, say, 2.6.9
then tough tittie, it's too late for 2.6.9: we don't want new code - we
want old-n-tested code. So your typed-in-after-2.6.9 code goes into
2.6.11.
That's the theory anyway. If it means that it takes a long time to get
This is damned frustrating :( Reality is _far_ divorced from what you
just described.
s/far/a bit/
Major developers such as David and Al don't have trees that see wide
testing, their code only sees wide testing once it hits mainline. See
this message from David,
http://marc.theaimsgroup.com/?l=linux-netdev&m=109648930728731&w=2
Yes, networking has been an exception. I think this has been acceptable
thus far because historically networking has tended to work better than
other parts of the kernel. Although the fib_hash stuff was a bit of a
fiasco.
That's a prime example, yes...
In particular, I think David's point about -mm being perceived as overly
experimental is fair.
I agree - -mm breaks too often. You wouldn't believe the crap people throw
at me :(. But a lot of problems get fixed this way too.
Recent experience seems to directly counter the assertion that only
well-tested code is landing in mainline, and it's not hard to pick
through the -rc changelogs to find non-trivial, non-bugfix modifications
to existing code.
Once we hit -rc2 we shouldn't be doing that.
Why does -rc2 have to be a magic number? Does that really make sense to
users that we want to be testing our stuff?
"We picked a magic number, after which, we hope it becomes more stable
even if it doesn't work out like that in practice"
My own experience with netdev-2.6 bears this out as
well: I have several personal examples of bugs sitting in netdev (and
thus -mm) for quite a while, only being noticed when the code hits mainline.
yes, I've had a couple of those. Not too many, fortunately. But having
bugs leak in mainline is OK - we expect that. As long as it wasn't late in
the cycle. If it was late in the cycle then, well,
bad-call-won't-do-that-again.
Linus's assertion that "calling it -rc means developers should calm
down" (implying we should start concentrating on bug fixing rather than
more-fun stuff) is equally fanciful.
Why is it so hard to say "only bugfixes"?
(It's not "only bugfixes". It's "only bugfixes, completely new stuff and
documentation/comment fixes).
But yes. When you see this please name names and thwap people.
I thought I just did ;-)
The _reality_ is that there is _no_ point in time where you and Linus
allow for stabilization of the main tree prior to relesae. The release
criteria has devolved to a point where we call it done when the stack of
pancakes gets too high.
That's simply wrong.
For instance, 2.6.8-rc1-mm1-series had 252 patches. I'm now sitting on 726
patches. That's 500 patches which are either non-bugfixes or minor
bugfixes which are held back. The various bk tree maintainers do the same
thing.
Sure I'm sitting on over 100 net driver csets myself. I'm glad, but the
overall point is still that "-rc" -- which stands for Release Candidate
-- is nowhere near release candidate status when -rc1 hits, and fluff
like sparse notations and changes like the fasync API change in 2.6.8
always seem to sneak in at the last minute, further belieing(sp?) the
supposed Release Candidate status.
No matter the effort of maintainers to hold back patches, every
violation of the Release Candidate Bugfixes Only policy serves to
undermine user confidence and invalidate previous Q/A work.
Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/