All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Bunk <bunk@fs.tum.de>
To: John Bradford <john@grabjohn.com>
Cc: Linux-Kernel@vger.kernel.org, Riley@Williams.Name
Subject: Re: [2.6 patch] let broken drivers depend on BROKEN{,ON_SMP}
Date: Wed, 30 Jul 2003 13:37:24 +0200	[thread overview]
Message-ID: <20030730113724.GA19356@fs.tum.de> (raw)
In-Reply-To: <200307301129.h6UBTtBD001245@81-2-122-30.bradfords.org.uk>

On Wed, Jul 30, 2003 at 12:29:55PM +0100, John Bradford wrote:
> > > >  * Driver does not work, and is thus disabled. If it is not
> > > >    fixed in the near future, it will be considered to be
> > > >    OBSOLETE as well.
> > > >
> > > > 		CONFIG_BROKEN
> > > 
> > > Please do _NOT_ do this - there is a far more important and worthwhile
> > > reason to have a CONFIG_BROKEN than to simply save the few minutes of
> > > inconvenience that including a non-compiling option in a kernel build
> > > causes.
> > > 
> > > Imagine the situation where a driver such as a SCSI driver builds
> > > successfully, but it silently corrupts data under certain, (possibly
> > > rare), circumstances.
> > > 
> > > In that case, it's important to warn people that it's broken, because
> > > it's not necessarily obvious, and could case significant data loss.
> > > If something doesn't compile, it already gives you an error message.
> > > The only problem is a few minutes of wasted time.
> >
> > You forget one important thing:
> > If a _user_ of a stable kernel notices "it doesn't even compile" this 
> > gives a very bad impression of the quality of the Linux kernel.
> 
> I don't agree.  The stock kernel is a work in progress, and things get
> broken from time to time as a normal part of development.  Experienced
> users will realise that, and I wouldn't encourage inexperienced users
> to compile their own kernel from the stock trees anyway, because they
> could easily miss bugfixes, including data corruption and security
> ones, simply because they assume that they are in the mainline
> kernel.

Whether you like it or not:

Many non-kernel-hackers compile their own kernels.


Even if you wouldn't encourage them, there are enough situations where 
they can't choose:

It occurs often that a fix or support for some hardware is only in the
latest -pre or in the -ac tree.


You say "things get broken from time to time as a normal part of 
development". Ideally this should never happen in a stable series. We 
don't live in an ideal world, but we should try to be as close as 
possible to this goal.


> Compiling your own kernel from the stock kernel trees is still
> something that should be considered for experienced users only.
> 
> Besides, what's worse?  Possible data corruption or a bad impression?

Possible data corruption is worse, but completely disabling this driver 
is even better.

> > > >  * Driver works on uniprocessor but not on SMP and is thus
> > > >    disabled when compiling for SMP. It is assumed that the
> > > >    driver will be fixed for SMP if relevant.
> > > >
> > > > 		CONFIG_BROKEN_ON_SMP
> > > 
> > > Please _don't_ do this either.  It implies that if
> > > CONFIG_BROKEN_ON_SMP isn't set, then it's SMP safe - a lot of drivers
> > > will NOT have been tested on SMP, so it's a bad thing to assume that
> > > is the case.
> > >...
> >
> > My patch adds BROKEN_ON_SMP only to drivers that don't compile, but if a 
> > driver causes e.g. data corruption on SMP I don't see a reason against 
> > letting it depend on BROKEN_ON_SMP.
> 
> The name BROKEN_ON_SMP implies that if you don't set it, what's left
> is known to work on SMP.  In a lot of cases, it'll actually be
> untested on SMP.

Say which other drivers are completely broken on SMP without a fix 
available or in the near future and it's easy to add a BROKEN_ON_SMP.

As long as noone reports such a bug I assume a driver works.

> John.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


  reply	other threads:[~2003-07-30 11:37 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-30 11:29 [2.6 patch] let broken drivers depend on BROKEN{,ON_SMP} John Bradford
2003-07-30 11:37 ` Adrian Bunk [this message]
2003-07-30 11:53   ` Jan Evert van Grootheest
  -- strict thread matches above, loose matches on Subject: below --
2003-08-17 21:27 John Bradford
2003-08-14  5:28 John Bradford
2003-08-13 20:40 John Bradford
2003-08-13 21:03 ` Adrian Bunk
2003-07-31  9:41 John Bradford
2003-08-02 19:48 ` Adrian Bunk
2003-07-30  9:11 John Bradford
2003-07-30 10:44 ` Adrian Bunk
2003-07-30 16:04   ` Tomas Szepe
2003-07-30 16:18     ` Adrian Bunk
2003-07-31  9:15       ` Tomas Szepe
2003-08-02 19:47         ` Adrian Bunk
2003-08-13 14:50         ` Bill Davidsen
2003-08-13 15:31           ` Jeff Garzik
2003-08-13 19:17             ` Adrian Bunk
2003-08-13 21:06             ` Bill Davidsen
2003-08-17  9:39               ` Rob Landley
2003-08-18 23:03                 ` Bill Davidsen
2003-07-29 19:59 Adrian Bunk
2003-07-30  7:44 ` Riley Williams

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=20030730113724.GA19356@fs.tum.de \
    --to=bunk@fs.tum.de \
    --cc=Linux-Kernel@vger.kernel.org \
    --cc=Riley@Williams.Name \
    --cc=john@grabjohn.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.