Messages in this thread | | | Date | Tue, 21 Jul 2009 18:07:50 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: Linux 2.6.27.27 |
| |
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.
There's also a case in do_page_fault() where -fno-strict-overflow generates a _lot_ more instructions than the other cases (but not by a factor of three - but it expands 63 instructions to 100). I'm not seeing quite _why_ it does that, but it does various stupid things like multiply by 0x38 etc. But it doesn't look buggy, it just looks stupid.
Or did you just brute-force it and spend a lot of time eyeballing things?
Linus
| |