Re: [patch 0/9] x86_64: reliable TSC-based gettimeofday
From: Ingo Molnar
Date: Thu Feb 01 2007 - 06:37:00 EST
* jbohac@xxxxxxx <jbohac@xxxxxxx> wrote:
> This implementation allows the current time to be approximated by
> reading the CPU's TSC even on SMP machines with unsynchronised TSCs.
> This allows us to have a very fast gettimeofday() vsyscall on all SMP
> machines supporting the RDTSCP instruction (AMD) or having
> synchronised TSCs (Intel).
>
> Inter-CPU monotonicity can not, however, be guaranteed in a vsyscall,
> so vsyscall is not used by default. Still, the syscall version of
> gettimeofday is a lot faster using the TSC approximation instead of
> other hardware timers.
ok, this looks mostly good to me - but this definitely should be based
/ontop/ of the x86_64 GTOD code. I.e. ontop of these patches in -mm:
generic-vsyscall-gtod-support-for-generic_time.patch
generic-vsyscall-gtod-support-for-generic_time-tidy.patch
time-x86_64-hpet_address-cleanup.patch
revert-x86_64-mm-ignore-long-smi-interrupts-in-clock-calibration.patch
time-x86_64-split-x86_64-kernel-timec-up.patch
time-x86_64-split-x86_64-kernel-timec-up-tidy.patch
time-x86_64-split-x86_64-kernel-timec-up-fix.patch
reapply-x86_64-mm-ignore-long-smi-interrupts-in-clock-calibration.patch
time-x86_64-convert-x86_64-to-use-generic_time.patch
time-x86_64-convert-x86_64-to-use-generic_time-fix.patch
time-x86_64-convert-x86_64-to-use-generic_time-tidy.patch
time-x86_64-hpet-fixup-clocksource-changes.patch
time-x86_64-tsc-fixup-clocksource-changes.patch
time-x86_64-re-enable-vsyscall-support-for-x86_64.patch
time-x86_64-re-enable-vsyscall-support-for-x86_64-tidy.patch
also, note that there is a new TSC synchronization check code in -mm as
well:
x86-rewrite-smp-tsc-sync-code.patch
this should be ontop of that too. (and ontop of the high-res timers
queue)
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/