[PATCH] i386: disable local apic timer via command line or dmi quirk
authorThomas Gleixner <tglx@linutronix.de>
Thu, 22 Mar 2007 08:11:21 +0000 (00:11 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 23 Mar 2007 02:39:05 +0000 (19:39 -0700)
commitad62ca2bd89f72e9b80dfaffc463e87bec5e75cb
treeefc138bd5ab54d7dccb2394e8dde074a9b7ac46f
parent93c9a7ff50a5b39dbdf80129c5da89e6d6256bea
[PATCH] i386: disable local apic timer via command line or dmi quirk

The local APIC timer stops to work in deeper C-States.  This is handled by
the ACPI code and a broadcast mechanism in the clockevents / tick managment
code.

Some systems do not expose the deeper C-States to the kernel, but switch
into deeper C-States behind the kernels back.  This delays the local apic
timer interrupts for ever and makes the systems unusable.

Add a command line option to disable the local apic timer and a dmi
quirk for known broken systems.

Andi sayeth:

  While not wrong by itself i think it is still better to use some heuristic
  -- like "has battery in ACPI" With the DMI table if the problem is more wide
  spread we will just continue extending it.

  But anyways should be ok now for .21 although I'm not really happy with
  it.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: john stultz <johnstul@us.ibm.com>
Grudgingly-acked-by: Andi Kleen <ak@suse.de>
Cc: Len Brown <lenb@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Documentation/kernel-parameters.txt
arch/i386/kernel/apic.c