1. Aug 22, 2009
  2. Jul 24, 2009
  3. Jul 23, 2009
  4. Jul 22, 2009
    • Linus Torvalds's avatar
      fbmon: work around compiler bug in gcc-2.4.2 · 3730793d
      Linus Torvalds authored
      
      
      There's some odd bug in gcc-4.2 where it miscompiles a simple loop whent
      he loop counter is of type 'unsigned char' and it should count to 128.
      
      The compiler will incorrectly decide that a trivial loop like this:
      
      	unsigned char i, ...
      
      	for (i = 0; i < 128; i++) {
      		..
      
      is endless, and will compile it to a single instruction that just
      branches to itself.
      
      This was triggered by the addition of '-fno-strict-overflow', and we
      could play games with compiler versions and go back to '-fwrapv'
      instead, but the trivial way to avoid it is to just make the loop
      induction variable be an 'int' instead.
      
      Thanks to Krzysztof Oledzki for reporting and testing and to Troy Moure
      for digging through assembler differences and finding it.
      
      Reported-and-tested-by: default avatarKrzysztof Oledzki <olel@ans.pl>
      Found-by: default avatarTroy Moure <twmoure@szypr.net>
      Gcc-bug-acked-by: default avatarIan Lance Taylor <iant@google.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3730793d
    • Peter Zijlstra's avatar
      softirq: introduce tasklet_hrtimer infrastructure · 9ba5f005
      Peter Zijlstra authored
      commit ca109491
      
       (hrtimer: removing all ur callback modes) moved all
      hrtimer callbacks into hard interrupt context when high resolution
      timers are active. That breaks code which relied on the assumption
      that the callback happens in softirq context.
      
      Provide a generic infrastructure which combines tasklets and hrtimers
      together to provide an in-softirq hrtimer experience.
      
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: torvalds@linux-foundation.org
      Cc: kaber@trash.net
      Cc: David Miller <davem@davemloft.net>
      LKML-Reference: <1248265724.27058.1366.camel@twins>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      9ba5f005