The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Alain Knaff <alain@knaff.lu>
Cc: markh@compro.net, fdutils@fdutils.linux.lu, linux-kernel@vger.kernel.org
Subject: Re: DMA cache consistency bug introduced in 2.6.28 (Was: Re: [Fdutils] Cannot format floppies under kernel 2.6.*?)
Date: Thu, 17 Dec 2009 13:14:43 -0800 (PST)	[thread overview]
Message-ID: <alpine.LFD.2.00.0912171256560.15740@localhost.localdomain> (raw)
In-Reply-To: <4B2A98BB.5080406@knaff.lu>



On Thu, 17 Dec 2009, Alain Knaff wrote:
> 
> For the moment, I have a very small sample of hardware:
> 1. One machine which works (my own): Athlon XP 1800+ processor
> 2. One which doesn't work (Mark's)

Ok. I don't think I even have any machines with floppy drives any more 
(one external USB drive somewhere gathering dust just in case I ever 
encounter a floppy again).

> I might get access to a wider sample of boxen in a week or so, in order
> to do some stats.

Ok, I was more thinking "we have a bugzilla with ten different people 
reporting this". If it's just a single machine, that's not going to be 
relevant.

> What's the easiest way to find out the chipset?
> 
> Here's already the output of lspci from my machine (works):
> 
> 00:00.0 Host bridge: VIA Technologies, Inc. VT8377 [KT400/KT600 AGP] Host Bridge
> 00:01.0 PCI bridge: VIA Technologies, Inc. VT8235 PCI Bridge
> 00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge

Yeah, lspci (and generally only the northbridge and southbridge matters, 
the "ISA bridge" might technically be relevant, but since it's universally 
on the same die as the southbridge, I left it in there just for kicks).

> (It happens during formatting the floppy drive: here the first byte
> happens to be the trackid of the first physical sector of the track, and
> it always ends up being the track of the *previously* formatted track).

I guess it could simply be a floppy controller bug too, triggered by some 
random timing difference or innocuous-looking change.

> > But I think we'd like to see a list of hardware where this can be 
> > triggered,
> 
> We'll get a list of 2 machines relatively quickly (unless other people
> would like to chime in: the test is easy, just fdformat a floppy disk),
> and more in a week or so.

Only the "it doesn't work on xyz" is likely interesting. The machines it 
works on are probably uninteresting statistically.

> > and quite frankly, a 'git bisect' would be absolutely wonderful 
> 
> How exactly would I use this (command line sample)?

You'd need a git tree that contains both the working and non-working 
versions, and then literally just do

	git bisect start
	git bisect good <known good version number here>
	git bisect bad <known bad version here>

and it will give you a commit to try. Compile, test, see if it's good or 
bad, and do

	git bisect [good|bad]

depending on the result. Rinse and repeat (depending on how tight the 
initial good/bad commits were, it will need 10-15 kernel tests).

So in this case, since apparently 2.6.27.41 is good, and 2.6.28 is not, it 
would be something like this:

	# clone hpa's tree that has all the stable releases in one place
	git clone git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-allstable.git

	cd linux-2.6-allstable
	git bisect start
	git bisect bad v2.6.28
	git bisect good v2.6.27.41

and off you go.

NOTE! Bisection depends very much on the bug being 100% reproducible. If 
you ever mark a good kernel bad (because you messed up) or a bad kernel 
good (because the bug wasn't 100% reproducible, so you _thought_ it was 
good even though the bug was present and just happened to hide), the end 
result of the bisect will be totally unreliable and seriously screwed up.

So after a successful bisect, it is usually a good idea to try to go back 
to the original known-bad kernel, and then revert the commit that was 
indicated as the bad one (assuming the revert works - it could be that the 
bad one ends up being fundamental to other commits after it), and test 
that yes, that really fixes the bug.

It gets more complicated if the bisect hits kernels that you can't test 
because they have _unrelated_ issues on that machine (compile failures or 
just other bugs that hide the actual floppy behavior), but generally 
bisection is pretty simple. "man git-bisect" does have some extra 
pointers.

So git bisect may be somewhat time-consuming and mindless, but for 
reliably triggering bugs where nobody really knows what caused the bug it 
is a _really_ convenient thing to do. The only thing you need is a 
reliably triggering test-case, and some time.

			Linus

  reply	other threads:[~2009-12-17 21:15 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4AFB3962.2020106@ntlworld.com>
     [not found] ` <4B2610F8.7050609@cfl.rr.com>
     [not found]   ` <4B2618EF.9020709@knaff.lu>
     [not found]     ` <4B264448.5040604@compro.net>
     [not found]       ` <4B26884C.8000306@knaff.lu>
     [not found]         ` <4B2697C4.2040204@compro.net>
     [not found]           ` <4B26A82E.5040902@knaff.lu>
     [not found]             ` <4B26B031.4060301@compro.net>
     [not found]               ` <4B26BAE3.2090408@knaff.lu>
     [not found]                 ` <4B275975.8040509@cfl.rr.com>
     [not found]                   ` <4B275B18.80704@knaff.lu>
     [not found]                     ` <4B275D37.4090807@cfl.rr.com>
     [not found]                       ` <4B2761E9.2030301@knaff.lu>
     [not found]                         ` <4B276513.6030509@cfl.rr.com>
     [not found]                           ` <4B276753.80807@knaff.lu>
     [not found]                             ` <4B27983F.5090600@compro.net>
     [not found]                               ` <4B27EF18.7050101@knaff.lu>
     [not found]                                 ` <4B28FDEB.3030800@compro.net>
     [not found]                                   ` <4B290029.90602@knaff.lu>
     [not found]                                     ` <4B2901DB.8040403@compro.net>
     [not found]                                       ` <4B29052B.9070406@knaff.lu>
     [not found]                                         ` <4B292D84.5040306@compro.net>
     [not found]                                           ` <4B29624F.2080109@knaff.lu>
     [not found]                                             ` <4B2A3805.8040707@compro.net>
     [not found]                                               ` <4B2A3E3E.8060405@knaff.lu>
     [not found]                                                 ` <4B2A4975.8020809@compro.net>
     [not found]                                                   ` <4B2A49F4.6070402@compro.net>
     [not found]                                                     ` <4B2A4B86.8060307@knaff.lu>
     [not found]                                                       ` <4B2A4C78.10107@compro.net>
     [not found]                                                         ` <4B2A4CF7.6040000@knaff.lu>
     [not found]                                                           ` <4B2A4EC9.2030902@compro.net>
     [not found]                                                             ` <4B2A4FA5.5000701@knaff.lu>
     [not found]                                                               ` <4B2A5192.6090602@compro.net>
     [not found]                                                                 ` <4B2A530D.3080606@knaff! .lu>
     [not found]                                                                   ` <4B2A530D.3080606@knaff.lu>
2009-12-17 17:00                                                                     ` DMA cache consistency bug introduced in 2.6.28 (Was: Re: [Fdutils] Cannot format floppies under kernel 2.6.*?) Alain Knaff
2009-12-17 17:27                                                                       ` Linus Torvalds
2009-12-17 18:21                                                                         ` DMA cache consistency bug introduced in 2.6.28 Krzysztof Halasa
2009-12-17 20:46                                                                         ` DMA cache consistency bug introduced in 2.6.28 (Was: Re: [Fdutils] Cannot format floppies under kernel 2.6.*?) Alain Knaff
2009-12-17 21:14                                                                           ` Linus Torvalds [this message]
2009-12-17 22:11                                                                             ` Alain Knaff
2009-12-17 22:43                                                                               ` Linus Torvalds
2009-12-17 23:24                                                                                 ` Alain Knaff
2009-12-18  8:59                                                                                   ` Mark Hounschell
2009-12-18 10:55                                                                                     ` [Fdutils] DMA cache consistency bug introduced in 2.6.28 (Was: " Mark Hounschell
2009-12-18 15:01                                                                                       ` [Fdutils] DMA cache consistency bug introduced in 2.6.28 Krzysztof Halasa
2009-12-18 15:22                                                                                       ` [Fdutils] DMA cache consistency bug introduced in 2.6.28 (Was: Re: Cannot format floppies under kernel 2.6.*?) Linus Torvalds
2009-12-18 15:28                                                                                         ` Mark Hounschell
2009-12-18 15:45                                                                                           ` Linus Torvalds
2009-12-18 20:04                                                                                             ` Mark Hounschell
2009-12-18 20:15                                                                                               ` Linus Torvalds
2009-12-22 15:11                                                                                                 ` Mark Hounschell
2009-12-22 17:38                                                                                                   ` Linus Torvalds
2009-12-22 17:57                                                                                                     ` Mark Hounschell
2009-12-22 23:37                                                                                                       ` Pallipadi, Venkatesh
2009-12-23  0:22                                                                                                         ` Mark Hounschell
2009-12-23 13:02                                                                                                           ` Mark Hounschell
2009-12-23 15:10                                                                                                             ` Pallipadi, Venkatesh
2009-12-23 15:34                                                                                                               ` Mark Hounschell
2009-12-23 15:57                                                                                                                 ` Mark Hounschell
2009-12-23 16:31                                                                                                                 ` Linus Torvalds
2009-12-23 16:38                                                                                                                   ` [Fdutils] DMA cache consistency bug introduced in 2.6.28 Andi Kleen
2009-12-23 16:49                                                                                                                     ` Linus Torvalds
2009-12-23 17:08                                                                                                                       ` Andi Kleen
2009-12-25 12:21                                                                                                                         ` Arjan van de Ven
2009-12-25 20:33                                                                                                                           ` Andi Kleen
2009-12-26  9:38                                                                                                                             ` Arjan van de Ven
2009-12-26 16:40                                                                                                                               ` Andi Kleen
2009-12-27 12:28                                                                                                                                 ` Alain Knaff
2009-12-28  1:54                                                                                                                                   ` Andi Kleen
2009-12-28 10:27                                                                                                                                     ` Alain Knaff
2009-12-28 14:54                                                                                                                                       ` Andi Kleen
2009-12-27 11:09                                                                                                                         ` Pavel Machek
2009-12-28 20:54                                                                                                                           ` Mark Hounschell
2009-12-23 17:19                                                                                                                       ` Pallipadi, Venkatesh
2009-12-23 17:16                                                                                                                         ` Andi Kleen
2009-12-23 20:11                                                                                                                       ` alain
2009-12-23 17:41                                                                                                                     ` Mark Hounschell
2009-12-23 18:01                                                                                                                       ` Linus Torvalds
2009-12-23 18:11                                                                                                                         ` Mark Hounschell
2009-12-23 19:18                                                                                                                       ` Pallipadi, Venkatesh
2009-12-23 19:35                                                                                                                         ` Mark Hounschell
2009-12-23 20:30                                                                                                                           ` Pallipadi, Venkatesh
2009-12-23 20:34                                                                                                                             ` alain
2009-12-23 21:34                                                                                                                               ` Pallipadi, Venkatesh
2010-01-08 17:42                                                                                                                             ` Mark Hounschell
2010-01-12  0:19                                                                                                                               ` Pallipadi, Venkatesh
2010-01-12  9:04                                                                                                                                 ` Mark Hounschell
2010-01-15  2:01                                                                                                                                   ` Pallipadi, Venkatesh
2010-01-15  9:39                                                                                                                                     ` Mark Hounschell
2010-01-15 18:02                                                                                                                                     ` Mark Hounschell
2010-01-21 19:09                                                                                                                                       ` [PATCH] x86: Disable HPET MSI on ATI SB700/SB800 Pallipadi, Venkatesh
2010-01-22 22:00                                                                                                                                         ` [tip:x86/urgent] " tip-bot for Pallipadi, Venkatesh
2010-01-23  6:51                                                                                                                                         ` tip-bot for Pallipadi, Venkatesh
2010-01-23  7:21                                                                                                                                         ` [PATCH] " Yuhong Bao
2010-01-25 17:10                                                                                                                                           ` Andreas Herrmann
2010-01-28  9:17                                                                                                                                             ` Mark Hounschell
2010-01-28 13:25                                                                                                                                               ` Mark Hounschell
2010-01-28 13:41                                                                                                                                                 ` Borislav Petkov
2010-01-28 14:45                                                                                                                                                   ` Mark Hounschell
2010-05-17 14:59                                                                                                                                             ` Andreas Herrmann
2010-05-17 15:10                                                                                                                                               ` Yuhong Bao
2010-05-17 15:12                                                                                                                                               ` Linus Torvalds
2010-05-17 16:46                                                                                                                                                 ` Andreas Herrmann
2010-05-18  0:56                                                                                                                                               ` Robert Hancock
2010-05-18  1:02                                                                                                                                                 ` Linus Torvalds
2010-05-18  1:06                                                                                                                                                   ` Robert Hancock
2010-05-18  8:45                                                                                                                                                 ` Andi Kleen
2010-05-18 23:22                                                                                                                                                   ` Robert Hancock

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=alpine.LFD.2.00.0912171256560.15740@localhost.localdomain \
    --to=torvalds@linux-foundation.org \
    --cc=alain@knaff.lu \
    --cc=fdutils@fdutils.linux.lu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markh@compro.net \
    /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