From: Greg KH <greg@kroah.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jeff Garzik <jeff@garzik.org>, David Miller <davem@davemloft.net>,
arjan@infradead.org, sfr@canb.auug.org.au,
linux-kernel@vger.kernel.org, linux-next@vger.kernel.org,
linux-arch@vger.kernel.org, akpm@linux-foundation.org
Subject: Re: Announce: Linux-next (Or Andrew's dream :-))
Date: Tue, 12 Feb 2008 11:15:53 -0800 [thread overview]
Message-ID: <20080212191552.GA20883@kroah.com> (raw)
In-Reply-To: <alpine.LFD.1.00.0802121011280.2920@woody.linux-foundation.org>
On Tue, Feb 12, 2008 at 10:26:53AM -0800, Linus Torvalds wrote:
> On Tue, 12 Feb 2008, Greg KH wrote:
> >
> > I may be a bit defensive here, but I hope that all of the recent
> > kobject/kset/driver core changes have been done with the thought of
> > "what are we doing wrong".
>
> .. but are we expecting it to be finished?
Nope, never.
> That's the point.
Not it isn't. To quote you a number of years ago:
"Linux is evolution, not intelligent design"
We need to constantly be able to make these kinds of changes in order to
continue to remain relevant.
> This whole "Linux-next" discussion so far has almost been predicated on
> the whole assumption that this is an on-going concern. And it really
> should NOT be.
>
> If it's an on-going concern, we need to tackle *that* issue, not the issue
> that cross-subsystem merges are hard. They simply seem to happen too much.
>
> In other words, I'm not AT ALL interested in the merges we've already
> done. That's over and done with, and we'll never ever do those merges
> again. Who cares? I don't.
>
> I'm purely and _only_ interested in the merges of the future. You don't
> need to be defensive about the things that led up to this discussion, I'm
> more hoping that we can aim at fixing the problem at the source, rather
> than trying to work around it.
>
> We simply shouldn't have all that many conflicts. We've had *way* too many
> of them lately, and I think it's because people have felt it wasn't too
> painful.
Oh, it's been painful at times, but they are, overall, very rare.
If you look at the rate of change we are currently running at, it's
amazing that we do not get _more_ of these kinds of problems.
Remember, we are currently clocking along at the steady rate of:
4000 lines added every day
1900 lines removed every day
1300 lines modified every day
And the rate of change in each major portion of the kernel (drivers,
arch, core, network, etc) is exactly proportional to the amount of the
kernel that that portion takes up (I have detailed numbers if people
really want to see them.)
Because of this rate of change, we are surviving, and evolving into what
is exactly needed at this point in time from a kernel. To try to quench
this change, and force us to stick with things that are no longer
optimal, is going to cause us to make the same mistakes that AIX and
Solaris and Vista have. To stop this, is to die :)
> Put another way: back when we worked with just patches, we avoided renames
> like hell, and we also tried to simply even re-architect the whole tree so
> that you didn't have so many patch conflicts. One main reason as far as I
> was concerned for things like per-directory Kconfig files and the whole
> initcall() stuff was the fact that the old single Kconfig file and the old
> crazy init/main.c file were total *nightmares* when it came to conflict
> resolution.
>
> So we split things up more, and we didn't do renames (or were very careful
> about it). We avoided the things that caused pain.
>
> I think we need to remember that: yes, we'll always have to have ways to
> fix the pain that does happen, but even more importantly, we should strive
> for models where it doesn't happen in the first place!
We have done very good at that. The problem comes in when one subsystem
depends on another one.
Like the kobject core, or driver core. Or network core. Changes there
trickle out into the other portions of the kernel that depend on them.
And we fix them up, and move on. And so far, we're doing this very
well, at a rate faster than any other software project ever has.
> And simply avoiding cross-subsystem API changes unless there is a major
> *MAJOR* reason for them is the obvious thing to do. Simply face the fact
> that even in open source there are major reasons to stay with an old
> interface even if it's not optimal.
I strongly disagree here. We lived with that kset/ktype crap for years,
and I finally broke down and cleaned it up, simplifying things, removing
code, making the kernel smaller, leaner, and easier for others to change
and use in the future. With your statement, such a change should have
never taken place as it what we had at the time was "not optimal", but
good enough to live with.
> We absolutely MUST NOT have the mindset that "cross-subsystem conflicts
> happen all the time".
They usually don't, by virtue of our current development model and how
we have the kernel structured.
But they do happen about once or twice a kernel release, just by virtue
of the way things need to happen. And since the last kernel had 10353
different commits, only 2 conflicts is a pretty good rate of merge
issues :)
And when they happen, so far _everyone_ involved instantly rushes to fix
them up. I say the fact that we are able to detect these problems, fix
them, and continue to move on and work, is a testament to the fact that
our current model is working _very_ well.
I think that you aren't seeing all of the "whacks" that Andrew is
constantly giving us that break his -mm tree with problems at times, so
when it gets to you, things are cleaned up.
The goal of -next is to take that "whacking" chore off of Andrew's
shoulders, and onto others, so Andrew can move off doing something like
development better.
My point is that the -next tree needs to work like -mm does today, a
policy of "merge broke, drop the tree" isn't going to help us subsystem
maintainers out in the end, we need a way to shim it up for a while as
merges and other communication happens, just like -mm provides, so that
when we get to the 2 week merge window, things are properly worked out
and what goes to you is all clean and purty.
thanks,
greg k-h
next prev parent reply other threads:[~2008-02-12 19:18 UTC|newest]
Thread overview: 183+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-12 1:02 Announce: Linux-next (Or Andrew's dream :-)) Stephen Rothwell
2008-02-12 1:36 ` James Bottomley
2008-02-12 2:23 ` Stephen Rothwell
2008-02-12 3:32 ` James Bottomley
2008-02-12 2:25 ` Stephen Rothwell
2008-02-12 4:21 ` Greg KH
2008-02-12 4:31 ` Arjan van de Ven
2008-02-12 4:43 ` Greg KH
2008-02-12 5:17 ` Arjan van de Ven
2008-02-12 5:53 ` Greg KH
2008-02-12 6:07 ` David Miller
2008-02-12 15:07 ` James Bottomley
2008-02-12 15:32 ` Benny Halevy
2008-02-12 16:00 ` James Bottomley
2008-02-12 6:11 ` David Miller
2008-02-12 6:21 ` Harvey Harrison
2008-02-12 16:36 ` Jeff Garzik
2008-02-12 16:46 ` Benny Halevy
2008-02-12 17:03 ` James Bottomley
2008-02-12 17:09 ` Linus Torvalds
2008-02-12 17:38 ` Roland Dreier
2008-02-12 17:41 ` James Bottomley
2008-02-12 17:53 ` Benny Halevy
2008-02-12 18:36 ` Linus Torvalds
2008-02-12 19:25 ` Benny Halevy
2008-02-12 18:00 ` Linus Torvalds
2008-02-12 18:24 ` James Bottomley
2008-02-12 18:48 ` Linus Torvalds
2008-02-12 18:59 ` Linus Torvalds
2008-02-12 19:19 ` Greg KH
2008-02-13 10:05 ` Russell King
2008-02-13 12:06 ` Jeff Garzik
2008-02-13 12:19 ` Russell King
2008-02-12 19:41 ` Al Viro
2008-02-12 21:51 ` Alan Cox
2008-02-12 22:17 ` Andrew Morton
2008-02-12 22:20 ` Alan Cox
2008-02-12 22:41 ` Al Viro
2008-02-12 23:01 ` Alan Cox
2008-02-12 23:27 ` Greg KH
2008-02-12 22:55 ` Greg KH
2008-02-12 22:59 ` Alan Cox
2008-02-12 23:26 ` Greg KH
2008-02-13 10:07 ` Russell King
2008-02-13 0:36 ` David Miller
2008-02-13 0:53 ` Linus Torvalds
2008-02-13 1:25 ` David Miller
2008-02-12 19:17 ` James Bottomley
2008-02-13 0:33 ` David Miller
2008-02-12 20:18 ` Jiri Kosina
2008-02-12 21:00 ` James Bottomley
2008-02-13 0:27 ` David Miller
2008-02-17 12:42 ` David Woodhouse
2008-02-12 17:48 ` Greg KH
2008-02-12 18:26 ` Linus Torvalds
2008-02-12 19:15 ` Greg KH [this message]
2008-02-12 19:46 ` Al Viro
2008-02-12 20:50 ` Greg KH
2008-02-12 21:08 ` Al Viro
2008-02-12 21:20 ` Greg KH
2008-02-12 21:36 ` Linus Torvalds
2008-02-13 10:54 ` Christoph Hellwig
2008-02-13 17:24 ` Adrian Bunk
2008-02-12 19:55 ` Linus Torvalds
2008-02-12 20:48 ` Greg KH
2008-02-12 21:25 ` Matthew Wilcox
2008-02-12 23:49 ` Theodore Tso
2008-02-15 23:23 ` Russell King
2008-02-15 23:37 ` Andrew Morton
2008-02-15 23:47 ` Randy Dunlap
2008-02-16 0:12 ` Andrew Morton
2008-02-16 0:17 ` Russell King
2008-02-16 0:25 ` Randy Dunlap
2008-02-13 17:12 ` Roel Kluin
2008-02-13 18:08 ` Alan Cox
2008-02-15 23:05 ` Roel Kluin
2008-02-16 0:03 ` Alan Cox
2008-02-13 18:09 ` Linus Torvalds
2008-02-15 22:59 ` Roel Kluin
2008-02-13 0:41 ` David Miller
2008-02-13 0:47 ` Andrew Morton
2008-02-13 1:23 ` David Miller
2008-02-13 7:38 ` Geert Uytterhoeven
2008-02-13 8:45 ` distributed module configuration [Was: Announce: Linux-next (Or Andrew's dream :-))] Sam Ravnborg
2008-02-13 8:54 ` distributed module configuration David Miller
2008-02-13 9:04 ` Sam Ravnborg
2008-02-13 9:06 ` David Miller
2008-02-13 10:09 ` Giacomo A. Catenazzi
2008-02-17 15:51 ` Pavel Machek
2008-02-14 0:56 ` distributed module configuration [Was: Announce: Linux-next (Or Andrew's dream :-))] Roman Zippel
2008-02-14 8:48 ` Geert Uytterhoeven
2008-02-14 22:38 ` Sam Ravnborg
2008-02-13 0:31 ` Announce: Linux-next (Or Andrew's dream :-)) David Miller
2008-02-12 18:48 ` Jeff Garzik
2008-02-12 20:03 ` Russell King
2008-02-12 20:23 ` Andrew Morton
2008-02-12 20:31 ` Linus Torvalds
2008-02-13 17:53 ` Adrian Bunk
2008-02-12 23:58 ` David Miller
2008-02-13 0:29 ` Greg KH
2008-02-13 0:49 ` Linus Torvalds
2008-02-13 1:24 ` David Miller
2008-02-13 2:16 ` Theodore Tso
2008-02-13 10:58 ` Catalin Marinas
2008-02-13 6:16 ` Greg KH
2008-02-13 7:28 ` Geert Uytterhoeven
2008-02-16 11:16 ` Thomas Gleixner
2008-02-13 10:36 ` Theodore Tso
2008-02-13 17:55 ` Greg KH
2008-02-13 10:48 ` Catalin Marinas
2008-02-13 0:37 ` Andrew Morton
2008-02-13 1:16 ` David Miller
2008-02-13 1:46 ` Andrew Morton
2008-02-13 0:44 ` Linus Torvalds
2008-02-13 1:20 ` David Miller
2008-02-13 1:41 ` Linus Torvalds
2008-02-13 1:46 ` David Miller
2008-02-13 2:25 ` James Bottomley
2008-02-13 2:35 ` Linus Torvalds
2008-02-13 3:00 ` James Bottomley
2008-02-13 3:31 ` Linus Torvalds
2008-02-13 3:48 ` Linus Torvalds
2008-02-13 5:17 ` Nicolas Pitre
2008-02-13 4:10 ` James Bottomley
2008-02-13 5:14 ` Nicolas Pitre
2008-02-13 4:19 ` Paul Mundt
2008-02-13 4:52 ` J. Bruce Fields
2008-02-12 4:45 ` Trond Myklebust
2008-02-12 5:11 ` Theodore Tso
2008-02-12 6:02 ` David Miller
2008-02-12 7:06 ` Arjan van de Ven
2008-02-12 22:44 ` Theodore Tso
2008-02-12 6:15 ` Andrew Morton
2008-02-12 11:57 ` Stephen Rothwell
2008-02-12 14:57 ` Greg KH
2008-02-14 8:14 ` Russell King
2008-02-14 12:22 ` Stephen Rothwell
2008-02-14 18:01 ` Linus Torvalds
2008-02-14 18:32 ` Gene Heskett
2008-02-14 20:32 ` Greg KH
2008-02-14 20:39 ` Gene Heskett
2008-02-15 6:44 ` Valdis.Kletnieks
2008-02-15 6:29 ` Valdis.Kletnieks
2008-02-15 9:26 ` Gene Heskett
2008-02-15 14:52 ` Valdis.Kletnieks
2008-02-15 1:11 ` Ingo Molnar
2008-02-20 14:55 ` Stephen Rothwell
2008-02-20 15:38 ` Stefan Richter
2008-02-20 15:42 ` Theodore Tso
2008-02-20 17:13 ` Adrian Bunk
2008-02-21 13:22 ` Theodore Tso
2008-02-12 5:07 ` Stephen Rothwell
2008-02-12 5:56 ` Greg KH
2008-02-12 6:10 ` Stephen Rothwell
2008-02-12 16:24 ` multiple drivers, single device (was Re: Announce: Linux-next (Or Andrew's dream :-))) Jeff Garzik
2008-02-12 16:42 ` Greg KH
2008-02-12 17:42 ` multiple drivers, single device Roland Dreier
2008-02-12 17:51 ` Greg KH
2008-02-12 18:08 ` Jeff Garzik
2008-02-12 17:56 ` multiple drivers, single device (was Re: Announce: Linux-next (Or Andrew's dream :-))) Jeff Garzik
2008-02-12 18:10 ` Greg KH
2008-02-12 18:31 ` Jeff Garzik
2008-02-12 18:30 ` Linus Torvalds
2008-02-12 21:38 ` Greg KH
2008-02-12 22:34 ` Announce: Linux-next (Or Andrew's dream :-)) Jan Engelhardt
2008-02-12 18:02 ` Jeff Garzik
2008-02-13 1:20 ` Randy Dunlap
2008-02-13 5:03 ` Kumar Gala
2008-02-14 23:22 ` Roland Dreier
2008-02-15 1:02 ` Stephen Rothwell
2008-02-16 15:14 ` James Bottomley
2008-02-17 5:25 ` Stephen Rothwell
2008-02-17 14:27 ` James Bottomley
2008-02-16 0:09 ` Russell King
2008-02-16 0:21 ` Andrew Morton
2008-02-16 0:31 ` Russell King
2008-02-16 0:45 ` Andrew Morton
2008-02-16 0:42 ` Alexey Dobriyan
2008-02-16 8:08 ` Russell King
2008-02-26 3:54 ` Stephen Rothwell
2008-02-29 12:45 ` Stephen Rothwell
2008-02-29 13:04 ` Adrian Bunk
2008-02-29 23:45 ` Stephen Rothwell
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=20080212191552.GA20883@kroah.com \
--to=greg@kroah.com \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=davem@davemloft.net \
--cc=jeff@garzik.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=sfr@canb.auug.org.au \
--cc=torvalds@linux-foundation.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;
as well as URLs for NNTP newsgroup(s).