linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@osdl.org>
To: Neil Brown <neilb@suse.de>
Cc: Andrew Morton <akpm@osdl.org>, Theodore Tso <tytso@mit.edu>,
	Jeff Garzik <jeff@garzik.org>,
	ext2-devel <ext2-devel@lists.sourceforge.net>,
	linux-kernel@vger.kernel.org,
	Chase Venters <chase.venters@clientec.com>,
	cmm@us.ibm.com, linux-fsdevel@vger.kernel.org,
	Kyle Moffett <mrmacman_g4@mac.com>,
	Alex Tomas <alex@clusterfs.com>,
	Andreas Dilger <adilger@clusterfs.com>
Subject: Re: Stable/devel policy - was Re: [RFC 0/13] extents and 48bit ext3
Date: Sat, 10 Jun 2006 22:19:50 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.64.0606102207030.5498@g5.osdl.org> (raw)
In-Reply-To: <17547.40585.982575.7069@cse.unsw.edu.au>



On Sun, 11 Jun 2006, Neil Brown wrote:
> 
> I'm wondering what all this has to say about general principles of
> sub-project development with the Linux kernel.

Yes. That's an interesting and relevant tangent.

> Due to the (quite appropriate) lack of a stable API for kernel
> modules, it isn't really practical (and definitely isn't encouraged)
> to distribute kernel-modules separately.  This seems to suggest that
> if we want a 'stable' and a 'devel' branch of a project, both branches
> need to be distributed as part of the same kernel tree.
> 
> Apart from ext2/3 - and maybe reiserfs - there doesn't seem to be much
> evidence of this happening.  Why is that?

I think part of it is "expense". It's pretty expensive to maintain on a 
bigger scale. For example, you mention "-mm", and there's no question that 
it's _very_ expensive to do that (ie you basically need a very respected 
person who must be spending a fair amount of effort and time on it).

Even in this case, I think a large argument has been that ext3 itself 
isn't getting a lot of active development outside of the suggested ext4 
effort, so the "expense" there is literally just the copying of the files. 
That works ok for a filesystem every once in a while, but it wouldn't 
scale to _everybody_ doing it often. 

Also, in order for it to work at all, it obviously needs to be a part of 
the kernel that -can- be duplicated. That pretty much means "filesystem" 
or "device driver". Other parts aren't as amenable to having multiple 
concurrent versions going on at the same time (although it clearly does 
happen: look at the IO schedulers, where a large reason for the pluggable 
IO scheduler model was to allow multiple independent schedulers exactly so 
that people _could_ do different ones in parallel).

People have obviously suggested pluggable CPU schedulers too, and even 
more radically pluggable VM modules (not that long ago).

> It seems a bit rough to insist that the ext-fs fork every so-often,
> but not impose similar requirements on other sections of code.

Well, as mentioned, it's actually quite common in drivers. It's clearly 
not the _main_ development model, but it's happened several times in 
almost every single driver subsystem (ie SCSI drivers, video drivers, 
network drivers, USB, IDE, have _all_ seen "duplicated" drivers where 
somebody just decided to do things differently, and rather than extend an 
existing driver, do an alternate one).

So it's not like this is _exceptional_. It happens all the time. It 
obviously happens less than normal development (we couldn't fork things 
every time something changes), but it's not unheard of, or even rare.

> So: what would you (collectively) suggest should be the policy for
> managing substantial innovation within Linux subsystems?  And how
> broadly should it be applied?

I think the interesting point is how we're moving away from the "global 
development" model (ie everything breaks at the same time between 2.4.x 
and 2.6.x), and how the fact that we're trying to maintain a more stable 
situation may well mean that we'll see more of the "local development" 
model where a specific subsystem goes through a development series, but 
where stability requirements mean that we must not allow it to disturb 
existing users.

And even more interestingly (at least to me), the question might become 
one of "how does that affect the tools and build and configuration 
infrastructure", and just the general flow of development.

I don't think one or two filesystems (and a few drivers) splitting is 
anythign new, but if this ends up becoming _more_ common, maybe that 
implies a new model entirely..

		Linus

  reply	other threads:[~2006-06-11  5:19 UTC|newest]

Thread overview: 294+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-09  1:20 [RFC 0/13] extents and 48bit ext3 Mingming Cao
2006-06-09  2:40 ` Valdis.Kletnieks
2006-06-09  8:20   ` Andreas Dilger
2006-06-09 18:35     ` [Ext2-devel] " Stephen C. Tweedie
2006-06-09 19:20       ` Jeff Garzik
2006-06-09 19:28         ` Alex Tomas
2006-06-09 19:32           ` Jeff Garzik
2006-06-09 19:41             ` Alex Tomas
2006-06-09 15:23   ` Mingming Cao
2006-06-09  2:49 ` Jeff Garzik
2006-06-09  8:35   ` Andreas Dilger
2006-06-09 15:08     ` Jeff Garzik
2006-06-09 15:25       ` Jeff Garzik
2006-06-09 15:40         ` Linus Torvalds
2006-06-09 15:47           ` Jeff Garzik
2006-06-09 15:55             ` Alex Tomas
2006-06-09 15:56               ` Jeff Garzik
2006-06-09 16:07                 ` Alex Tomas
2006-06-09 16:09                   ` [Ext2-devel] " Jeff Garzik
2006-06-09 18:04                   ` Matthew Frost
2006-06-09 18:10                     ` Alex Tomas
2006-06-09 18:14                     ` [Ext2-devel] " Andreas Dilger
2006-06-09 18:51                       ` Jeff Garzik
2006-06-09 19:39                         ` Gerrit Huizenga
2006-06-09 19:45                           ` [Ext2-devel] " Jeff Garzik
2006-06-09 20:38                             ` Gerrit Huizenga
2006-06-10 10:03                           ` Christoph Hellwig
2006-06-09 19:49                         ` [Ext2-devel] " Theodore Tso
2006-06-09 20:04                           ` Jeff Garzik
2006-06-09 20:57                             ` Stephen C. Tweedie
2006-06-09 21:49                               ` Jeff Garzik
2006-06-09 21:55                                 ` [Ext2-devel] " Stephen C. Tweedie
2006-06-09 23:44                                   ` Jeff Garzik
2006-06-10  0:45                                     ` [Ext2-devel] " Andreas Dilger
2006-06-10  0:47                                     ` Theodore Tso
2006-06-10  1:09                                       ` Jeff Garzik
2006-06-10  1:30                                         ` [Ext2-devel] " Andreas Dilger
2006-06-10  1:43                                           ` Jeff Garzik
2006-06-10  2:03                                             ` Theodore Tso
2006-06-10  2:11                                               ` [Ext2-devel] " Jeff Garzik
2006-06-10  2:54                                                 ` Theodore Tso
2006-06-10  3:11                                                   ` Jeff Garzik
2006-06-10 12:15                                                     ` Theodore Tso
2006-06-10 14:31                                                       ` Jeff Garzik
2006-06-10  2:58                                               ` [Ext2-devel] " Jeff Garzik
2006-06-10  2:26                                             ` Andreas Dilger
2006-06-10  2:31                                               ` Jeff Garzik
2006-06-10  4:22                                                 ` Andreas Dilger
2006-06-09 22:37                             ` [Ext2-devel] " Andreas Dilger
2006-06-11 16:02                         ` Arjan van de Ven
2006-06-11 16:30                           ` Nikita Danilov
2006-06-11 16:55                             ` [Ext2-devel] " Arjan van de Ven
2006-06-12  6:35                           ` Andreas Dilger
2006-06-12 22:06                         ` [Ext2-devel] " Pavel Machek
2006-06-14 14:31                           ` Barry K. Nathan
2006-06-14 21:34                             ` [Ext2-devel] " Pavel Machek
2006-06-15  0:28                               ` Barry K. Nathan
2006-06-15  4:55                                 ` Theodore Tso
2006-06-15  7:43                                   ` Barry K. Nathan
2006-06-15  9:15                                 ` Pavel Machek
2006-06-15  9:40                                   ` Barry K. Nathan
2006-06-15  9:50                                     ` [Ext2-devel] " Pavel Machek
2006-06-09 20:52                 ` Stephen C. Tweedie
2006-06-09 21:47                   ` [Ext2-devel] " Jeff Garzik
2006-06-10  0:41                     ` James Morris
2006-06-09 16:01             ` Linus Torvalds
2006-06-09 20:38             ` Stephen C. Tweedie
2006-06-09 15:57           ` Jeff Garzik
2006-06-09 16:10           ` [Ext2-devel] " Alex Tomas
2006-06-09 16:10             ` Jeff Garzik
2006-06-09 16:24               ` Erik Mouw
2006-06-09 16:28                 ` Jeff Garzik
2006-06-09 16:24               ` [Ext2-devel] " Chase Venters
2006-06-09 16:25               ` Alex Tomas
2006-06-09 16:28                 ` Jeff Garzik
2006-06-09 16:50                   ` Alex Tomas
2006-06-09 16:53                     ` [Ext2-devel] " Jeff Garzik
2006-06-09 17:01                       ` Alex Tomas
2006-06-09 17:10                         ` Jeff Garzik
2006-06-09 16:25             ` Linus Torvalds
2006-06-09 16:48               ` Alex Tomas
2006-06-09 16:54                 ` KELEMEN Peter
2006-06-09 16:55                 ` Jeff Garzik
2006-06-09 17:12                   ` [Ext2-devel] " Alex Tomas
2006-06-09 17:12                     ` Jeff Garzik
2006-06-09 19:57                   ` Theodore Tso
2006-06-09 20:09                     ` Jeff Garzik
2006-06-09 20:14                       ` Alex Tomas
2006-06-09 20:28                         ` Jeff Garzik
2006-06-19  7:48                         ` [Ext2-devel] " Helge Hafting
2006-06-09 20:38                     ` Joel Becker
2006-06-09 20:50                       ` Dave Jones
2006-06-09 21:09                         ` Joel Becker
2006-06-09 21:51                           ` Mike Snitzer
2006-06-09 21:32                         ` [Ext2-devel] " Jeff Garzik
2006-06-09 22:56                           ` Andreas Dilger
2006-06-09 23:06                             ` Linus Torvalds
2006-06-09 23:09                             ` Jeff Garzik
2006-06-09 23:37                               ` [Ext2-devel] " Andreas Dilger
2006-06-09 23:54                                 ` Linus Torvalds
2006-06-09 21:03                       ` Theodore Tso
2006-06-09 21:24                         ` Joel Becker
2006-06-09 21:36                           ` [Ext2-devel] " Chase Venters
2006-06-09 21:51                           ` Theodore Tso
2006-06-09 22:07                             ` Joel Becker
2006-06-09 22:31                               ` [Ext2-devel] " Theodore Tso
2006-06-09 22:47                                 ` Joel Becker
2006-06-09 23:54                                   ` [Ext2-devel] " Theodore Tso
2006-06-09 23:48                         ` Jeff Garzik
2006-06-12  8:58                     ` Jes Sorensen
2006-06-10  0:07                   ` Olivier Galibert
2006-06-10  0:13                     ` Jeff Garzik
2006-06-09 16:54               ` [Ext2-devel] " Linus Torvalds
2006-06-09 17:04                 ` Alex Tomas
2006-06-09 17:30                   ` [Ext2-devel] " Linus Torvalds
2006-06-09 17:41                     ` Matthew Wilcox
2006-06-09 17:50                       ` Jeff Garzik
2006-06-09 18:00                         ` Alex Tomas
2006-06-09 18:04                       ` [Ext2-devel] " Linus Torvalds
2006-06-09 18:17                       ` Michael Poole
2006-06-09 17:44                 ` Theodore Tso
2006-06-09 17:58                   ` Jeff Garzik
2006-06-09 18:10                 ` [Ext2-devel] " Andreas Dilger
2006-06-09 18:22                   ` Linus Torvalds
2006-06-09 18:30                     ` Alex Tomas
2006-06-09 18:38                       ` Linus Torvalds
2006-06-09 18:50                         ` [Ext2-devel] " Chase Venters
2006-06-09 19:00                           ` Chase Venters
2006-06-10 13:33                             ` Adrian Bunk
2006-06-09 19:01                           ` Jeff Garzik
2006-06-10 19:27                             ` Kyle Moffett
2006-06-10 19:44                               ` Linus Torvalds
2006-06-10 20:02                                 ` [Ext2-devel] " Linus Torvalds
2006-06-10 21:26                                   ` Theodore Tso
2006-06-10 21:31                                     ` Linus Torvalds
2006-06-10 22:12                                     ` Jeff Garzik
2006-06-10 22:21                                     ` Jeff Garzik
2006-06-11  4:39                                       ` Stable/devel policy - was Re: [Ext2-devel] " Neil Brown
2006-06-11  5:19                                         ` Linus Torvalds [this message]
2006-06-11  7:32                                           ` Stable/devel policy - was " Ingo Molnar
2006-06-13  0:28                                         ` Stable/devel policy - was Re: [Ext2-devel] " Mingming Cao
2006-06-09 19:21                           ` Alan Cox
2006-06-09 19:13                             ` [Ext2-devel] " Chase Venters
2006-06-09 19:24                             ` Alex Tomas
2006-06-09 19:25                               ` Jeff Garzik
2006-06-09 19:35                                 ` Alex Tomas
2006-06-09 19:35                                   ` [Ext2-devel] " Jeff Garzik
2006-06-09 20:44                                   ` Joel Becker
2006-06-09 20:49                                     ` Alex Tomas
2006-06-09 21:11                                       ` Joel Becker
2006-06-09 21:20                                         ` Alex Tomas
2006-06-09 21:29                                           ` Joel Becker
2006-06-09 21:33                                             ` Alex Tomas
2006-06-09 21:43                                             ` Joel Becker
2006-06-11 20:14                                   ` [Ext2-devel] " grundig
2006-06-14 16:45                                     ` Alex Tomas
2006-06-09 19:22                         ` Alex Tomas
2006-06-09 19:22                           ` Jeff Garzik
2006-06-09 20:16                         ` Andreas Dilger
2006-06-09 20:31                           ` Linus Torvalds
2006-06-09 20:31                           ` Jeff Garzik
2006-06-09 18:43                       ` [Ext2-devel] " Jeff Garzik
2006-06-09 18:50                       ` Diego Calleja
2006-06-09 19:08                         ` Diego Calleja
2006-06-09 18:40                   ` [Ext2-devel] " Jeff Garzik
2006-06-09 18:59                     ` Andrew Morton
2006-06-09 19:16                       ` Jeff Garzik
2006-06-09 20:27                         ` [Ext2-devel] " Chase Venters
2006-06-09 20:44                       ` Alan Cox
2006-06-11 15:52                         ` [Ext2-devel] " Arjan van de Ven
2006-06-09 18:41                   ` Jeff Garzik
2006-06-09 17:12               ` Jeff Anderson-Lee
2006-06-09 18:02               ` Andrew Morton
2006-06-10 19:10         ` Kyle Moffett
2006-06-10 19:27           ` Linus Torvalds
2006-06-09 15:28       ` [Ext2-devel] " Alex Tomas
2006-06-09 15:31         ` Matthew Wilcox
2006-06-10  3:26           ` Continuation Inodes Explained! (was Re: [RFC 0/13] extents and 48bit ext3) Valerie Henson
2006-06-10  5:25             ` Andreas Dilger
2006-06-10  5:41               ` Valerie Henson
2006-06-10  6:22                 ` Andreas Dilger
2006-06-10 14:22             ` Jeff Garzik
2006-06-09 15:44         ` [Ext2-devel] [RFC 0/13] extents and 48bit ext3 Jeff Garzik
2006-06-09 15:53           ` Alex Tomas
2006-06-09 15:52             ` Jeff Garzik
2006-06-09 16:02               ` Alex Tomas
2006-06-09 16:04                 ` [Ext2-devel] " Jeff Garzik
2006-06-09 18:29           ` Andreas Dilger
2006-06-09 15:53         ` [Ext2-devel] " Gerrit Huizenga
2006-06-09 16:03           ` Jeff Garzik
2006-06-09 16:09           ` Linus Torvalds
2006-06-09 17:58             ` Gerrit Huizenga
2006-06-09 18:25               ` [Ext2-devel] " Chase Venters
2006-06-10 13:46               ` Adrian Bunk
2006-06-10 14:42                 ` Ingo Molnar
2006-06-10 15:03                   ` Jeff Garzik
2006-06-11  6:00                     ` Ingo Molnar
2006-06-10 16:00                   ` Adrian Bunk
2006-06-10 16:05                   ` Christoph Hellwig
2006-06-10 23:05                   ` Mike Galbraith
2006-06-13 13:34               ` [Ext2-devel] " Helge Hafting
2006-06-09 20:32       ` Stephen C. Tweedie
2006-06-09 20:46         ` Linus Torvalds
2006-06-09 20:56           ` Alex Tomas
2006-06-20  6:15           ` [Ext2-devel] " Qi Yong
2006-06-20  8:26             ` Laurent Vivier
2006-06-20  8:30               ` Jeff Garzik
2006-06-20  9:21                 ` Laurent Vivier
2006-06-20  9:48                   ` Jeff Garzik
2006-06-20 10:40                     ` Laurent Vivier
2006-06-09 17:14   ` Alan Cox
2006-06-09  9:13 ` Christoph Hellwig
2006-06-09 10:07   ` Andrew Morton
2006-06-09 15:40     ` Jeff Garzik
2006-06-09 15:42       ` Matthew Wilcox
2006-06-09 15:51         ` Jeff Garzik
2006-06-09 17:29         ` Alan Cox
2006-06-09 16:56       ` Andrew Morton
2006-06-09 17:07         ` Jeff Garzik
2006-06-09 17:35           ` Andrew Morton
2006-06-09 17:48             ` Jeff Garzik
2006-06-09 17:59               ` Jeff Garzik
2006-06-09 18:27                 ` [Ext2-devel] " Mike Snitzer
2006-06-09 18:54                   ` Jeff Garzik
2006-06-09 19:22                     ` Alex Tomas
2006-06-09 19:23                       ` Jeff Garzik
2006-06-09 22:49                       ` Valdis.Kletnieks
2006-06-09 23:34                         ` [Ext2-devel] " Andreas Dilger
2006-06-10 13:49                   ` Adrian Bunk
2006-06-10 13:51                     ` Christoph Hellwig
2006-06-10 14:54                       ` Jeff Garzik
2006-06-10 18:01                         ` [Ext2-devel] " Andreas Dilger
2006-06-09 21:42             ` Sonny Rao
2006-06-09 22:15               ` Andrew Morton
2006-06-09 23:11                 ` Andreas Dilger
2006-06-09 23:15                   ` Jeff Garzik
2006-06-10  3:37                   ` Valerie Henson
2006-06-10  3:49                 ` Nathan Scott
2006-06-09 18:23       ` Michael Poole
2006-06-09 18:55         ` Jeff Garzik
2006-06-09 19:42           ` [Ext2-devel] " Gerrit Huizenga
2006-06-09 20:00             ` Jeff Garzik
2006-06-09 20:08               ` Alex Tomas
2006-06-09 20:10                 ` [Ext2-devel] " Jeff Garzik
2006-06-09 20:35               ` Theodore Tso
2006-06-09 21:41                 ` Jeff Garzik
2006-06-09 21:45                   ` [Ext2-devel] " Michael Poole
2006-06-09 21:53                     ` Jeff Garzik
2006-06-09 22:04                       ` Theodore Tso
2006-06-10  0:49         ` Sven-Haegar Koch
2006-06-10  1:06           ` Theodore Tso
2006-06-10 14:07             ` Olivier Galibert
2006-06-10 19:52               ` Theodore Tso
2006-06-09 10:49   ` Andreas Dilger
2006-06-09 11:26   ` Alex Tomas
2006-06-09 14:23     ` [Ext2-devel] " Jeff Garzik
2006-06-09 14:33       ` Alex Tomas
2006-06-09 14:34       ` Alex Tomas
2006-06-09 14:35         ` Jeff Garzik
2006-06-09 14:57           ` Alex Tomas
2006-06-09 15:17             ` [Ext2-devel] " Jeff Garzik
2006-06-09 16:21               ` Mike Snitzer
2006-06-09 16:27                 ` Jeff Garzik
2006-06-09 16:48                   ` Alex Tomas
2006-06-09 16:51                     ` Jeff Garzik
2006-06-09 16:33                 ` Alex Tomas
2006-06-09 16:37                   ` [Ext2-devel] " Jeff Garzik
2006-06-09 22:52                   ` Valdis.Kletnieks
2006-06-09 23:21                     ` Andreas Dilger
2006-06-10  1:21                       ` Valdis.Kletnieks
2006-06-10  2:09                         ` [Ext2-devel] " Andreas Dilger
2006-06-10  2:45                           ` Nicholas Miell
2006-06-10  4:29                             ` Andreas Dilger
2006-06-09 16:56               ` Andreas Dilger
2006-06-09 17:32                 ` [Ext2-devel] " Greg KH
2006-06-09 18:48                 ` Jeff Garzik
2006-06-30  0:16 ` [RFC][Update 0/16]extents and 48bit ext3/4 patches Mingming Cao
2006-06-30  0:16 ` [RFC][Update][Patch 1/16]core extent map support Mingming Cao
2006-06-30  0:17 ` [RFC][Update][Patch 2/16]sector_t type format string Mingming Cao
2006-06-30  0:17 ` [RFC][Update][Patch 3/16]convert ext3_fsblk_t to sector_t to support >32 bit block in kernel Mingming Cao
2006-06-30  0:17 ` [RFC][Update][Patch 4/16]support 48 bit blk number in extents Mingming Cao
2006-06-30  0:17 ` [RFC][Update][Patch 5/16]block type convert " Mingming Cao
2006-06-30  0:17 ` [RFC][Update][Patch 6/16]handing unitialized extents Mingming Cao
2006-06-30  0:17 ` [RFC][Update][Patch 7/16]Core 64 bit JBD changes Mingming Cao
2006-06-30  0:18 ` [RFC][Update][Patch 8/16]Avoid potential block overflow when writing journal metadata tags Mingming Cao
2006-06-30  0:18 ` [RFC][Update][Patch 9/16]Fix reading of 32-bit tag descriptors Mingming Cao
2006-06-30  0:18 ` [RFC][Update][Patch 10/16]Cleanup journal_tag_bytes() Mingming Cao
2006-06-30  0:18 ` [RFC][Update][Patch 11/16]JBD layer in-kernel block variables type fixes Mingming Cao
2006-06-30  0:18 ` [RFC][Update][Patch 12/16]Fix undefined ">> 32" in revoke code Mingming Cao
2006-06-30  3:15   ` H. Peter Anvin
2006-06-30  0:18 ` [RFC][Update][Patch 13/16] 48 bit on-disk i_file_acl support Mingming Cao
2006-06-30  0:19 ` [RFC][Update][Patch 14/16] 48bit super block (metadata) changes Mingming Cao
2006-06-30  0:19 ` [RFC][Update][Patch 15/16] compile warning fix and change 64bit to INCOMPAT feature Mingming Cao
2006-06-30  0:19 ` [RFC][Update][Patch 16/16]Update ext3 superblock definition Mingming Cao

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=Pine.LNX.4.64.0606102207030.5498@g5.osdl.org \
    --to=torvalds@osdl.org \
    --cc=adilger@clusterfs.com \
    --cc=akpm@osdl.org \
    --cc=alex@clusterfs.com \
    --cc=chase.venters@clientec.com \
    --cc=cmm@us.ibm.com \
    --cc=ext2-devel@lists.sourceforge.net \
    --cc=jeff@garzik.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mrmacman_g4@mac.com \
    --cc=neilb@suse.de \
    --cc=tytso@mit.edu \
    /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).