linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 09:48:24 -0800	[thread overview]
Message-ID: <20080212174824.GA1919@kroah.com> (raw)
In-Reply-To: <alpine.LFD.1.00.0802120847500.2920@woody.linux-foundation.org>

On Tue, Feb 12, 2008 at 09:09:34AM -0800, Linus Torvalds wrote:
> One thing that I personally react to is that
> 
>  - I think sysfs and the device model layer has had too much churn, and 
>    I'm unhappy that people seem to expect that to continue.
> 
>    [ NOTE!! I'm picking on the device model/sysfs stuff here not because 
>      it's the only one, but because it's the obvious and good example. I 
>      do think we have other cases of the same thing. ]
> 
>    Really. I do agree that we need to fix up bad designs, but I disagree 
>    violently with the notion that this should be seen as some ongoing 
>    thing. The API churn should absolutely *not* be seen as a constant 
>    pain, and if it is (and it clearly is) then I think the people involved 
>    should start off not by asking "how can we synchronize", but looking a 
>    bit deeper and saying "what are we doing wrong?"

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".

For the kset rework, we went back and looked at how people were trying
to use this code, realized that it was way too complex, and reworked it
all, making both the implementation simpler, the kernel usage model
simpler, and documented the whole thing so that everyone knows exactly
what is now going on.

To quote the original developer of that code when hearing of the
rewrite, "thank you for doing it, I have no idea what I was thinking
when I wrote that code originally."  The end result caused more code to
be removed from the kernel than was added, always a nice thing.

The rework went through many iteratations, reviews, rebases, and touched
many portions of the kernel.  In the end, there was only 1 merge issue,
in a new IB driver, and Roland and I handled that after Andrew pointed
out.  That kind of dependency was what I was trying to warn the -next
maintainers about.

>    It may well be that part of the problem is that the people causing the 
>    churn don't realize the downsides of the pain they are causing, because 
>    THEY aren't the generally ones that see it!

Oh, I see it, and so does my inbox :)

>    For example, it's easy for Greg to change his driver core, and he can 
>    obviously synchronize with himself in the other trees (because his left 
>    hand is hopefully somewhat aware of what his right hand is doing), so I 
>    suspect Greg simply doesn't see the pain that much. So Greg thinks that 
>    the solution is to just have me merge his changes early, and the pain 
>    is all gone as far as he is concerned.

No, I understand the issues here, and am working hard to resolve them.

Now that the kobject underlying layer looks very good, I'm moving a bit
higher up, into the driver core to be able to handle a long-standing
requirement by a lot of hardware vendor and driver authors.  And yes,
that is going to cause a few problems in a few places in the
bus-specific logic (the PCI core looks to be the biggest issue, as it
does some nasty things with some internal device lists), but for the
rest of the kernel, and individual driver authors, it will not be an
issue at all.

But I understand your main point here, a lot of time I might come across
as wanting to constantly change this chunk of code, but I'm only doing
it because it's necessary.  I'd much rather be off just writing new
drivers, and not having to touch this stuff at all.

If people see changes in which they think I and Kay are unnecessarily
causing churn, please call us out on it, I have no problem with that.

</defensive_posturing> :)

>  - That said, I'm also a bit unhappy about the fact you think all merging 
>    has to go through my tree and has to be visible during the two-week 
>    merge period. Quite frankly, I think that you guys could - and should - 
>    just try to sort API changes out more actively against each other, and 
>    if you can't, then that's a problem too.
> 
>    In other words, please do use the distributed nature of git to your 
>    advantage, when there are things you guys know you need to sort out.

A lot of time that already happens today, between the different
subsystem maintainers.  We routinely pass PCI and driver core changes
through the network and scsi and ata trees in order to handle merge
issues properly.  This already happened in a few places in the
2.6.25-rc1 merge cycle.

But so far we have been doing this on a per-patch level, not really on a
git-tree level.  Maybe we might want to re-think this if needed.

> So there are two separate and totally independent issues here.
> 
> One is that I suspect some people are a bit too willing to do cleanup for 
> its own sake, and do not realize that backwards compatibility does 
> actually help too, and that "better solutions" are sometimes worse than 
> "keep things stable". We should always *allow* major breakage when 
> necessary, but I think the threshold for them should be higher than I 
> think it currently is.
> 
> The other is that once somebody says "ok, I *really* need to cause this 
> breakage, because there's a major bug or we need it for fundamental reason 
> XYZ", then that person should
> 
>  (a) create a base tree with _just_ that fundamental infrastructure change,
>      and make sure that base branch is so obviously good that there is no 
>      question about merging it.
> 
>  (b) tell other people about the reason for the infrastructure change, and 
>      simply allow others to merge it. You don't have to wait for *me* to 
>      open the merge window, you need to make sure that the people that get 
>      impacted most can continue development!

I'll do this next time I do kobject/driver core changes and see how it
works out.

thanks,

greg k-h

  parent reply	other threads:[~2008-02-12 17:50 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 [this message]
2008-02-12 18:26                 ` Linus Torvalds
2008-02-12 19:15                   ` Greg KH
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=20080212174824.GA1919@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).