kernel-ark/include/asm-x86_64
john stultz 6bb74df481 [PATCH] clocksource init adjustments (fix bug #7426)
This patch resolves the issue found here:
http://bugme.osdl.org/show_bug.cgi?id=7426

The basic summary is:
Currently we register most of i386/x86_64 clocksources at module_init
time. Then we enable clocksource selection at late_initcall time. This
causes some problems for drivers that use gettimeofday for init
calibration routines (specifically the es1968 driver in this case),
where durring module_init, the only clocksource available is the low-res
jiffies clocksource. This may cause slight calibration errors, due to
the small sampling time used.

It should be noted that drivers that require fine grained time may not
function on architectures that do not have better then jiffies
resolution timekeeping (there are a few). However, this does not
discount the reasonable need for such fine-grained timekeeping at init
time.

Thus the solution here is to register clocksources earlier (ideally when
the hardware is being initialized), and then we enable clocksource
selection at fs_initcall (before device_initcall).

This patch should probably get some testing time in -mm, since
clocksource selection is one of the most important issues for correct
timekeeping, and I've only been able to test this on a few of my own
boxes.

Signed-off-by: John Stultz <johnstul@us.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-05 07:57:53 -08:00
..
8253pit.h
a.out.h
acpi.h ACPICA: Allow ACPI id to be u32 instead of u8. 2007-02-02 21:14:31 -05:00
agp.h
alternative-asm.i
alternative.h
apic.h
apicdef.h
atomic.h
auxvec.h
bitops.h [PATCH] x86-64: Fix wrong gcc check in bitops.h 2007-02-13 13:26:25 +01:00
boot.h
bootsetup.h [PATCH] Dynamic kernel command-line: x86_64 2007-02-12 09:48:39 -08:00
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h
calgary.h
calling.h
checksum.h
compat.h
cpu.h
cpufeature.h
cputime.h
current.h
debugreg.h
delay.h
desc_defs.h
desc.h
device.h
div64.h
dma-mapping.h [PATCH] x86-64: define dma noncoherent API functions 2007-02-13 13:26:24 +01:00
dma.h
dmi.h
dwarf2.h
e820.h [PATCH] x86-64: Fix fake numa for x86_64 machines with big IO hole 2007-02-13 13:26:22 +01:00
edac.h
elf.h
emergency-restart.h
errno.h
fcntl.h
fixmap.h
floppy.h
fpu32.h
futex.h
genapic.h
hardirq.h
hpet.h [PATCH] time: x86_64: split x86_64/kernel/time.c up 2007-02-16 08:14:00 -08:00
hw_irq.h [PATCH] x86_64 irq: Safely cleanup an irq after moving it. 2007-02-26 10:34:08 -08:00
hypertransport.h
i387.h
ia32_unistd.h
ia32.h
ide.h
idle.h
intel_arch_perfmon.h
io_apic.h [PATCH] io_apic.h needs apicdef.h 2007-03-05 07:57:50 -08:00
io.h [PATCH] x86-64: Fix preprocessor condition 2007-02-13 13:26:23 +01:00
ioctl.h
ioctls.h
ipcbuf.h
ipi.h
irq_regs.h
irq.h
irqflags.h
k8.h
Kbuild
kdebug.h
kexec.h
kmap_types.h
kprobes.h
ldt.h
linkage.h
local.h
mach_apic.h
mc146818rtc.h
mce.h [PATCH] x86-64: Allow to run a program when a machine check event is detected 2007-02-13 13:26:23 +01:00
mman.h
mmsegment.h
mmu_context.h
mmu.h
mmzone.h [PATCH] x86-64: Fix fake numa for x86_64 machines with big IO hole 2007-02-13 13:26:22 +01:00
module.h
mpspec.h
msgbuf.h
msidef.h
msr.h {rd,wr}msr_on_cpu SMP=n optimization 2007-02-20 14:29:37 -05:00
mtrr.h
mutex.h [PATCH] x86-64: Remove fastcall references in x86_64 code 2007-02-13 13:26:22 +01:00
namei.h
nmi.h
node.h
numa.h
page.h
param.h
parport.h
pci-direct.h
pci.h
pda.h
percpu.h
pgalloc.h [PATCH] x86-64: remove get_pmd() 2007-02-13 13:26:23 +01:00
pgtable.h [PATCH] x86-64: Remove mk_pte_phys() 2007-02-13 13:26:26 +01:00
poll.h
posix_types.h
prctl.h
processor.h
proto.h [PATCH] time: x86_64: re-enable vsyscall support for x86_64 2007-02-16 08:14:00 -08:00
ptrace-abi.h
ptrace.h
resource.h
rio.h
rtc.h
rwlock.h
scatterlist.h
seccomp.h
sections.h
segment.h
semaphore.h
sembuf.h
serial.h
setup.h [PATCH] x86_64: 2048-byte command line 2007-02-12 09:48:39 -08:00
shmbuf.h
shmparam.h
sigcontext32.h
sigcontext.h
siginfo.h
signal.h
smp.h
socket.h
sockios.h
sparsemem.h
spinlock_types.h
spinlock.h
stacktrace.h
stat.h
statfs.h
string.h
suspend.h
swiotlb.h [IA64] swiotlb abstraction (e.g. for Xen) 2007-02-05 18:53:04 -08:00
system.h
tce.h
termbits.h
termios.h [PATCH] consolidate line discipline number definitions 2007-02-11 10:51:26 -08:00
therm_throt.h
thread_info.h
timex.h [PATCH] time: x86_64: re-enable vsyscall support for x86_64 2007-02-16 08:14:00 -08:00
tlb.h
tlbflush.h
topology.h [PATCH] sched: remove SMT nice 2007-03-05 07:57:51 -08:00
tsc.h [PATCH] clocksource init adjustments (fix bug #7426) 2007-03-05 07:57:53 -08:00
types.h
uaccess.h [PATCH] x86-64: Add __copy_from_user_nocache 2007-02-13 13:26:19 +01:00
ucontext.h
unaligned.h
unistd.h
unwind.h
user32.h
user.h
vga.h
vsyscall32.h
vsyscall.h [PATCH] time: x86_64: re-enable vsyscall support for x86_64 2007-02-16 08:14:00 -08:00
xor.h