mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Stefan Richter <stefanr@s5r6.in-berlin.de>
To: David Lang <david.lang@digitalinsight.com>,
	linux-scsi@vger.kernel.org,
	Linux Kernel <linux-kernel@vger.kernel.org>
Cc: Jeff Garzik <jgarzik@pobox.com>,
	Luben Tuikov <luben_tuikov@adaptec.com>,
	andrew.patterson@hp.com, Christoph Hellwig <hch@lst.de>,
	"Moore, Eric Dean" <Eric.Moore@lsil.com>,
	jejb@steeleye.com, Linus Torvalds <torvalds@osdl.org>
Subject: Re: ioctls, etc. (was Re: [PATCH 1/4] sas: add flag for locally attachedPHYs)
Date: Sat, 22 Oct 2005 19:41:08 +0200	[thread overview]
Message-ID: <435A79B4.9070201@s5r6.in-berlin.de> (raw)
In-Reply-To: <Pine.LNX.4.62.0510220357250.4997@qynat.qvtvafvgr.pbz>

David Lang wrote:
> On Sat, 22 Oct 2005, Stefan Richter wrote:
>> I doubt that the desired cleanup of the SCSI core could be done 
>> on-the-go, i.e. without temporary breakage of larger parts of the 
>> subsystem (out of mainline). But then again, I don't know much of the 
>> subsystem, so what am I talking about here?
>>
>> Also, long-term breakage of smaller parts of the SCSI subsystem in 
>> mainline is to be expected; breakage which is to be announced and 
>> scheduled.
> 
> Stefan, what you and Luben are missing is that big-bang changes like you 
> are proposing are simply not acceptable anymore.

I agree with you that big-bang changes are not acceptable. This wasn't 
however what I had in mind.

> a few years ago when the 2.5 kernel series opened a similar big-bang 
> approach was attempted for the IDE drivers. the instability that 
> resulted (and rumors of the instability being worse then it was) 
> eliminated a lot of people from testing things. things finally got bad 
> enough that the entire system was reverted, and then a developer (one 
> who had previously stated that such drastic changes were impossible) sat 
> down and produced a long series of patches, each of which did a small 
> amount of changes, each of which left the kernel in a working state (and 
> each of which provided an advantage that could be identified at the time 
> of the patch, either a better abstraction or a code cleanup). over a 
> very few months (especially relative to the time spent working on the 
> big-bang patches) the entire system was re-written.

What I proposed was to "renovate" a _part_ of the SCSI subsystem (the 
core and the interfaces of the rest of the subsystem to the core) with 
the 2.6 kernel as a basis. This is a huge difference to 2.5. Changes 
took place everywhere in 2.5, many of them drastic.

I agree with you that the incremental approach is preferrable whenever 
possible. I even believe that this method could be applied to the SCSI 
core cleanup. However, concerns were voiced that this method would 
effectively lead to a double SCSI core: The old one, and a new one in 
parallel to it which doesn't share much code with the old one. (At least 
for some time, perhaps for a too long time.)

It has been said multiple times that this would not be desirable for 
reasons of /a/ more kernel bloat (while the goal was to remove existing 
bloat and lay foundations to avoid future bloat), and /b/ massive 
maintenance burden of two parallel infrastructures.

So that's why I said that *short-term* breakage right on top and right 
below the core should be accepted.

Again, the huge difference to the 2.5 times would be that all this would 
happen on top of a relatively stable kernel. (Stable in two senses.)

> This is what Jeff is trying to tell you. you can't just produce an 
> entirely new SCSI subsystem and drop it into the kernel one day, you can 

What I was referring to was to clean up a _part_ of the subsystem (the 
core), not to replace the subsystem. I admit though that my wording left 
much room for misunderstanding.

Furthermore, note that the "scsi-cleanup tree" which I referred to is 
not meant to be a fork. It should merely be another working stage before 
the -mm stage. And let me add that this stage should be left as soon as 
possible.

> all agree on a goal (this has almost been done, but nto quite), but 
> that's only the first step. After you have some idea of the goal you 
> then have to look at how to move to that goal without breaking things in 
> the meantime. This requires that each step along the way keeps things 
> working and is relativly straightforward in and of itself.
> 
> this definantly sounds a LOT harder then the 'throw it out and replace 
> it all' approach, and it is (from the point of view of the programmer), 
> however the result ends up being far more reliable as the process forces 
> better examination of all the details,

I agree with you on that. Again, although my post may have sounded like 
it, I did not want to advocate the "throw it out and replace it all" 
approach.

> and allows more people to 
> understand what's happening each step of the way.

Absolutely.

However I don't agree with you that _every_ little step must keep 
everything working. I believe that this may actually make the transition 
less easy to follow.

> And since there are no 
> releases that are made unuseable for people deliberatly, you also get 

I did not suggest to make unuseable releases.

> extensive testing of all the steps along the way. This not only finds 
> bugs sooner, it also makes it far more obvious where performance issues 
> show up

I agree with you on these advantages of the "(try to) keep everything 
working after each patch". Although the monitoring of performance is 
less important during the initial stage of the cleanup of the core.

> so please accept that you aren't going to be able to replace any 
> significant system in one massive change

Agreed. This is absolutely not what should be done.

> and instead start looking for 
> ways to move the existing design towards where you want it to be and you 
> will receive a lot of assistance in the process instead of banging heads 
> with everyone.

OK.
-- 
Stefan Richter
-=====-=-=-= =-=- =-==-
http://arcgraph.de/sr/

  parent reply	other threads:[~2005-10-22 17:41 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <91888D455306F94EBD4D168954A9457C048F0E34@nacos172.co.lsil.com>
     [not found] ` <20051020160155.GA14296@lst.de>
     [not found]   ` <4357CB03.4020400@adaptec.com>
     [not found]     ` <20051020170330.GA16458@lst.de>
     [not found]       ` <4357F7DE.7050004@adaptec.com>
     [not found]         ` <1129852879.30258.137.camel@bluto.andrew>
2005-10-21  0:46           ` ioctls, etc. (was Re: [PATCH 1/4] sas: add flag for locally attached PHYs) Jeff Garzik
2005-10-21  5:09             ` Mike Christie
2005-10-21  5:41             ` Douglas Gilbert
2005-10-21  6:19               ` Jeff Garzik
2005-10-21 18:37                 ` Luben Tuikov
2005-10-21 17:48             ` Luben Tuikov
2005-10-21 18:04               ` Christoph Hellwig
2005-10-21 18:12                 ` Luben Tuikov
2005-10-21 18:20                   ` Matthew Wilcox
2005-10-22  2:30                     ` Douglas Gilbert
2005-10-22  2:54                       ` Jeff Garzik
2005-10-22  3:53                         ` Jeff Garzik
2005-10-22 17:14                           ` Luben Tuikov
2005-10-22 17:49                             ` Francois Romieu
2005-10-22 16:51                         ` Luben Tuikov
2005-10-21 18:18               ` Jeff Garzik
2005-10-21 18:50                 ` Luben Tuikov
2005-10-21 18:54                   ` Jeff Garzik
2005-10-21 19:13                     ` Luben Tuikov
2005-10-21 19:23                       ` Jeff Garzik
2005-10-21 22:20                         ` Stefan Richter
2005-10-21 19:22                     ` Luben Tuikov
2005-10-21 19:39                       ` Jeff Garzik
2005-10-21 20:41                         ` Luben Tuikov
2005-10-21 21:12                           ` Jeff Garzik
2005-10-21 21:24                             ` Luben Tuikov
2005-10-21 21:41                               ` Jeff Garzik
2005-10-21 22:14                                 ` Luben Tuikov
2005-10-21 22:43                                   ` Jeff Garzik
2005-10-22  9:26                                     ` Stefan Richter
2005-10-22 17:23                                       ` Luben Tuikov
2005-10-22 10:42                                     ` Stefan Richter
2005-10-22 10:58                                       ` Christoph Hellwig
2005-10-22 15:28                                         ` Sergey Panov
2005-10-22 17:19                                           ` Christoph Hellwig
2005-10-22 17:38                                             ` Sergey Panov
2005-10-24 15:18                                               ` Luben Tuikov
2005-10-22 18:27                                             ` Alan Cox
2005-10-24 13:51                                             ` Luben Tuikov
2005-10-24 15:41                                               ` Alan Cox
2005-10-24 15:14                                                 ` Luben Tuikov
2005-10-24 15:59                                                   ` Regala
2005-10-24 16:13                                                     ` Luben Tuikov
2005-10-22 17:30                                         ` Luben Tuikov
2005-10-22 18:19                                           ` Jeff Garzik
2005-10-22 17:49                                         ` Stefan Richter
2005-10-24 22:09                                           ` ioctls, etc. (was Re: [PATCH 1/4] sas: add flag for locally attachedPHYs) David Lang
2005-10-24 23:09                                             ` Stefan Richter
2005-10-22 11:12                                       ` David Lang
2005-10-22 17:39                                         ` Luben Tuikov
2005-10-22 17:41                                         ` Stefan Richter [this message]
2005-10-22 17:51                                           ` Christoph Hellwig
2005-10-22 18:21                                             ` Stefan Richter
2005-10-22 18:39                                             ` Sergey Panov
2005-10-22 13:27                                       ` ioctls, etc. (was Re: [PATCH 1/4] sas: add flag for locally attached PHYs) Stefan Richter
2005-10-22 16:09                                     ` Luben Tuikov
2005-10-21 19:41                       ` Matthew Wilcox
2005-10-21 19:48                         ` Luben Tuikov
2005-10-21 19:54                           ` Matthew Wilcox
2005-10-21 20:05                             ` Luben Tuikov
2005-10-21 19:46                       ` Arjan van de Ven
2005-10-21 19:50                         ` Luben Tuikov

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=435A79B4.9070201@s5r6.in-berlin.de \
    --to=stefanr@s5r6.in-berlin.de \
    --cc=Eric.Moore@lsil.com \
    --cc=andrew.patterson@hp.com \
    --cc=david.lang@digitalinsight.com \
    --cc=hch@lst.de \
    --cc=jejb@steeleye.com \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=luben_tuikov@adaptec.com \
    --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

all inboxes | Powered by JetHome®