mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Troy Moure <twmoure@szypr.net>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Troy Moure <twmoure@szypr.net>, Krzysztof Oledzki <olel@ans.pl>,
	Greg KH <gregkh@suse.de>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	stable@kernel.org, lwn@lwn.net,
	Ian Lance Taylor <iant@google.com>
Subject: Re: Linux 2.6.27.27
Date: Wed, 22 Jul 2009 07:16:30 +0100 (BST)	[thread overview]
Message-ID: <alpine.LFD.2.00.0907220618270.2606@troy-laptop> (raw)
In-Reply-To: <alpine.LFD.2.01.0907211759180.19335@localhost.localdomain>



On Tue, 21 Jul 2009, Linus Torvalds wrote:

> > Just out of curiosity, how did you find it? Now that I know where to look, 
> > it's very obvious in the assembler diffs, but I didn't notice it until you 
> > pointed it out just because there is so _much_ of the diffs...
> 
> Ahh. I think I see how you found it. Looking at the diffs, there's only a 
> few places where the number of instructions changed by a big fraction. And 
> there's only _one_ place that has a factor-of-three difference (26 lines 
> in the correct cases, and 7 lines in the wrong one). Clever.

Hmm..that's interesting.  But no, I wasn't that clever.

I actually just started poking around the radeonfb code, since you 
mentioned it looked like that might be where the issue was.  The last 
message printed in the hung kernel is "Monitor 2 type no found" - printed 
from radeon_probe_screens().  And the first message after that in the 
non-hung kernel is "Console: switching to colour frame buffer device", 
which I guessed was printed from register_framebuffer() (since that calls 
notifiers).

So I started looking in radeon_fb_register() between the call to 
radeon_probe_screens() and the call to register_framebuffer(), and tracing 
through the calls it made.  I ignored pci_, sysfs_, etc. calls, thinking 
the driver code was more likely to have a device probing loop or something 
odd like that that could be miscompiled.

For any functions that had a loop or anything strange-looking, I checked 
the assembler diffs.  And after a little while (a half-hour or so, I 
think), I found edid_checksum().  Just the name made me think it was a 
likely culprit, even before I looked at the diff. 

Obviously I got a bit lucky that problem was actually basically where I 
started looking for it.  But I figured even if I didn't find it, I'd learn 
something about the radeonfb code. And who would pass up an opportunity to 
learn about that?

	Troy

  reply	other threads:[~2009-07-22  6:16 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-20  4:06 Greg KH
2009-07-20  4:07 ` Greg KH
2009-07-20 11:51 ` Krzysztof Oledzki
2009-07-20 15:10   ` Greg KH
2009-07-20 16:01     ` Linus Torvalds
2009-07-20 21:45       ` Krzysztof Oledzki
2009-07-20 22:08         ` Linus Torvalds
2009-07-20 23:47           ` Marc Dionne
2009-07-20 23:56             ` Linus Torvalds
2009-07-21  0:37               ` Marc Dionne
2009-07-21  1:01                 ` Linus Torvalds
2009-07-21  6:40                   ` Krzysztof Oledzki
2009-07-21  1:05                 ` Linus Torvalds
2009-07-21  2:38                   ` Marc Dionne
2009-07-21  6:33           ` Krzysztof Oledzki
2009-07-21 10:16             ` Krzysztof Oledzki
2009-07-21 16:11               ` Linus Torvalds
2009-07-21 19:15                 ` Linus Torvalds
2009-07-21 21:34                   ` Troy Moure
2009-07-22  0:53                     ` Linus Torvalds
2009-07-22  1:07                       ` Linus Torvalds
2009-07-22  6:16                         ` Troy Moure [this message]
2009-07-22 15:58                           ` Linus Torvalds
2009-07-22  1:16                       ` Linus Torvalds
2009-07-22  8:12                         ` Krzysztof Oledzki
2009-07-22  8:32                           ` Krzysztof Oledzki
2009-07-22  9:55                             ` Krzysztof Oledzki
2009-07-22 10:44                               ` Krzysztof Oledzki
2009-07-22  9:58                             ` Jens Rosenboom
2009-07-22 10:27                               ` Troy Moure
2009-07-22 10:54                               ` Krzysztof Oledzki
2009-07-22 10:24                             ` Troy Moure
2009-07-22 10:33                             ` Dick Streefland
2009-07-22 13:48                         ` Krzysztof Oledzki
2009-07-22 15:48                           ` Linus Torvalds
2009-07-29 14:57                             ` Pavel Machek
2009-07-29 15:59                               ` Linus Torvalds
2009-07-22 11:49                       ` Krzysztof Oledzki
2009-07-22 13:27                         ` Henrique de Moraes Holschuh
2009-07-22 13:45                         ` Krzysztof Oledzki
2009-07-22 15:36                         ` Ian Lance Taylor
2009-07-23 17:33     ` Krzysztof Olędzki
2009-07-24 21:13       ` Greg KH

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.0907220618270.2606@troy-laptop \
    --to=twmoure@szypr.net \
    --cc=akpm@linux-foundation.org \
    --cc=gregkh@suse.de \
    --cc=iant@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lwn@lwn.net \
    --cc=olel@ans.pl \
    --cc=stable@kernel.org \
    --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

all inboxes | Powered by JetHome®