linux/include
Peter Zijlstra 7f424a8b08 fix idle (arch, acpi and apm) and lockdep
OK, so 25-mm1 gave a lockdep error which made me look into this.

The first thing that I noticed was the horrible mess; the second thing I
saw was hacks like: 71e93d1561

The problem is that arch idle routines are somewhat inconsitent with
their IRQ state handling and instead of fixing _that_, we go paper over
the problem.

So the thing I've tried to do is set a standard for idle routines and
fix them all up to adhere to that. So the rules are:

  idle routines are entered with IRQs disabled
  idle routines will exit with IRQs enabled

Nearly all already did this in one form or another.

Merge the 32 and 64 bit bits so they no longer have different bugs.

As for the actual lockdep warning; __sti_mwait() did a plainly un-annotated
irq-enable.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Tested-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-04-27 00:01:45 +02:00
..
acpi
asm-alpha generic: implement __fls on all 64-bit archs 2008-04-26 19:21:16 +02:00
asm-arm
asm-avr32
asm-blackfin
asm-cris
asm-frv
asm-generic bitops: use __fls for fls64 on 64-bit archs 2008-04-26 19:21:16 +02:00
asm-h8300
asm-ia64 generic: implement __fls on all 64-bit archs 2008-04-26 19:21:16 +02:00
asm-m32r
asm-m68k
asm-m68knommu
asm-mips Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-generic-bitops-v3 2008-04-26 13:46:11 -07:00
asm-mn10300
asm-parisc generic: implement __fls on all 64-bit archs 2008-04-26 19:21:16 +02:00
asm-powerpc generic: implement __fls on all 64-bit archs 2008-04-26 19:21:16 +02:00
asm-ppc
asm-s390 generic: implement __fls on all 64-bit archs 2008-04-26 19:21:16 +02:00
asm-sh generic: implement __fls on all 64-bit archs 2008-04-26 19:21:16 +02:00
asm-sparc
asm-sparc64 generic: implement __fls on all 64-bit archs 2008-04-26 19:21:16 +02:00
asm-um
asm-v850
asm-x86 fix idle (arch, acpi and apm) and lockdep 2008-04-27 00:01:45 +02:00
asm-xtensa
crypto
keys
linux Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootmem-v3 2008-04-26 14:04:32 -07:00
math-emu
media
mtd
net
pcmcia
rdma
rxrpc
scsi
sound
video
xen
Kbuild