The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Troy Moure <twmoure@szypr.net>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Krzysztof Oledzki <olel@ans.pl>, Greg KH <gregkh@suse.de>,
	linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	stable@kernel.org, lwn@lwn.net
Subject: Re: Linux 2.6.27.27
Date: Tue, 21 Jul 2009 22:34:36 +0100 (BST)	[thread overview]
Message-ID: <alpine.LFD.2.00.0907212211040.4630@troy-laptop> (raw)
In-Reply-To: <alpine.LFD.2.01.0907211133010.19335@localhost.localdomain>



On Tue, 21 Jul 2009, Linus Torvalds wrote:

> > Great. This is all about as perfect as could be asked for. Now it's just a 
> > question of trying to find the right code generation difference...
> 
> Ok, that "just" is turning out to be really painful.

I think I've found something interesting.  Look at the the code generated 
for edid_checksum() in driver/video/fbmon.c.  This is what I see for the 
-fno-strict-overflow kernel:

...
ffffffff803b37ed <edid_checksum>:
ffffffff803b37ed:       53                      push   %rbx
ffffffff803b37ee:       48 89 fb                mov    %rdi,%rbx
ffffffff803b37f1:       e8 8d fd ff ff          callq  ffffffff803b3583 <check_edid>
ffffffff803b37f6:       85 c0                   test   %eax,%eax
ffffffff803b37f8:       89 c6                   mov    %eax,%esi
ffffffff803b37fa:       74 08                   je     ffffffff803b3804 <edid_checksum+0x17>
ffffffff803b37fc:       48 89 df                mov    %rbx,%rdi
ffffffff803b37ff:       e8 c0 fe ff ff          callq  ffffffff803b36c4 <fix_edid>
ffffffff803b3804:       eb fe                   jmp    ffffffff803b3804 <edid_checksum+0x17>

ffffffff803b3806 <fb_parse_edid>:
ffffffff803b3806:       41 54                   push   %r12
ffffffff803b3808:       48 85 ff                test   %rdi,%rdi
...

That last insn in edid_checksum() doesn't look *quite* right to me...

The -fnone kernel has something a lot more sensible-looking:

ffffffff803b39dd <edid_checksum>:
ffffffff803b39dd:       53                      push   %rbx
ffffffff803b39de:       48 89 fb                mov    %rdi,%rbx
ffffffff803b39e1:       e8 8d fd ff ff          callq  ffffffff803b3773 <check_$
ffffffff803b39e6:       85 c0                   test   %eax,%eax
ffffffff803b39e8:       89 c6                   mov    %eax,%esi
ffffffff803b39ea:       74 08                   je     ffffffff803b39f4 <edid_c$
ffffffff803b39ec:       48 89 df                mov    %rbx,%rdi
ffffffff803b39ef:       e8 c0 fe ff ff          callq  ffffffff803b38b4 <fix_ed$
ffffffff803b39f4:       31 c9                   xor    %ecx,%ecx
ffffffff803b39f6:       31 f6                   xor    %esi,%esi
ffffffff803b39f8:       31 d2                   xor    %edx,%edx
ffffffff803b39fa:       eb 0a                   jmp    ffffffff803b3a06 <edid_c$
ffffffff803b39fc:       0f b6 c0                movzbl %al,%eax
ffffffff803b39ff:       8a 04 03                mov    (%rbx,%rax,1),%al
ffffffff803b3a02:       01 c1                   add    %eax,%ecx
ffffffff803b3a04:       09 c6                   or     %eax,%esi
ffffffff803b3a06:       88 d0                   mov    %dl,%al
ffffffff803b3a08:       ff c2                   inc    %edx
ffffffff803b3a0a:       81 fa 81 00 00 00       cmp    $0x81,%edx
ffffffff803b3a10:       75 ea                   jne    ffffffff803b39fc <edid_c$
ffffffff803b3a12:       84 c9                   test   %cl,%cl
ffffffff803b3a14:       0f 94 c0                sete   %al
ffffffff803b3a17:       40 84 f6                test   %sil,%sil
ffffffff803b3a1a:       5b                      pop    %rbx
ffffffff803b3a1b:       0f 95 c2                setne  %dl
ffffffff803b3a1e:       21 d0                   and    %edx,%eax
ffffffff803b3a20:       0f b6 c0                movzbl %al,%eax
ffffffff803b3a23:       c3                      retq

ffffffff803b3a24 <fb_parse_edid>:
ffffffff803b3a24:       41 54                   push   %r12
ffffffff803b3a26:       48 85 ff                test   %rdi,%rdi

Hope that helps narrow things down ;)

	Troy


  reply	other threads:[~2009-07-21 21:34 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-20  4:06 Linux 2.6.27.27 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 [this message]
2009-07-22  0:53                     ` Linus Torvalds
2009-07-22  1:07                       ` Linus Torvalds
2009-07-22  6:16                         ` Troy Moure
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.0907212211040.4630@troy-laptop \
    --to=twmoure@szypr.net \
    --cc=akpm@linux-foundation.org \
    --cc=gregkh@suse.de \
    --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