linux/arch
Andi Kleen 312df5f1a1 [PATCH] x86_64: Add pmtimer support
There are unfortunately more and more multi processor Opteron systems which
don't have HPET timer support in the southbridge.  This covers in particular
Nvidia and VIA chipsets.  They also don't guarantee that the TSCs are
synchronized between CPUs; and especially with MP powernow the systems are
nearly unusable because the time gets very inconsistent between CPUs.

The timer code for x86-64 was originally written under the assumption that we
could fall back to the HPET timer on such systems.  But this doesn't work
there.

Another alternative is to use the ACPI PM timer as primary time source.  This
patch does that.  The kernel only uses PM timer when there is no other choice
because it has some disadvantages.

Ported over from i386.  It should be faster than the i386 version because I
dropped the "read three times" workaround, but is still considerable slower
than HPET and also does not work together with vsyscalls which have to be
disabled.

Cc: <mark.langsdorf@amd.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-17 07:59:15 -07:00
..
alpha [PATCH] ISA DMA Kconfig fixes - part 1 2005-05-04 07:33:13 -07:00
arm [PATCH] ARM: Fix build error 2005-05-16 23:36:22 +01:00
arm26 [PATCH] ISA DMA Kconfig fixes - part 1 2005-05-04 07:33:13 -07:00
cris [PATCH] convert that currently tests _NSIG directly to use valid_signal() 2005-05-01 08:59:14 -07:00
frv [PATCH] convert that currently tests _NSIG directly to use valid_signal() 2005-05-01 08:59:14 -07:00
h8300 [PATCH] convert that currently tests _NSIG directly to use valid_signal() 2005-05-01 08:59:14 -07:00
i386 [PATCH] x86_64/i386: fix defaults for physical/core id in /proc/cpuinfo 2005-05-17 07:59:13 -07:00
ia64 [PATCH] ppc64: remove hidden -fno-omit-frame-pointer for schedule.c 2005-05-05 16:36:32 -07:00
m32r [PATCH] convert that currently tests _NSIG directly to use valid_signal() 2005-05-01 08:59:14 -07:00
m68k [PATCH] convert that currently tests _NSIG directly to use valid_signal() 2005-05-01 08:59:14 -07:00
m68knommu [PATCH] ISA DMA Kconfig fixes - part 1 2005-05-04 07:33:13 -07:00
mips Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2005-05-05 13:59:37 +01:00
parisc [PATCH] ISA DMA Kconfig fixes - part 1 2005-05-04 07:33:13 -07:00
ppc [PATCH] ppc32: Fix POWER3/POWER4 compiler error 2005-05-06 22:09:28 -07:00
ppc64 [PATCH] ppc64: enable CONFIG_RTAS_PROC by default 2005-05-06 22:09:27 -07:00
s390 Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2005-05-03 08:14:09 +01:00
sh [PATCH] ISA DMA Kconfig fixes - part 1 2005-05-04 07:33:13 -07:00
sh64 [PATCH] convert that currently tests _NSIG directly to use valid_signal() 2005-05-01 08:59:14 -07:00
sparc [SPARC]: Remove legacy stuff from cpu_idle(). 2005-05-05 14:53:01 -07:00
sparc64 [SPARC]: Remove legacy stuff from cpu_idle(). 2005-05-05 14:53:01 -07:00
um [PATCH] uml: change memcpy to memmove 2005-05-17 07:59:11 -07:00
v850 [PATCH] convert that currently tests _NSIG directly to use valid_signal() 2005-05-01 08:59:14 -07:00
x86_64 [PATCH] x86_64: Add pmtimer support 2005-05-17 07:59:15 -07:00