1
linux/arch/i386/kernel
Zachary Amsden 6cb9a8350a [PATCH] vmi: sched clock paravirt op fix
The custom_sched_clock hook is broken.  The result from sched_clock needs to
be in nanoseconds, not in CPU cycles.  The TSC is insufficient for this
purpose, because TSC is poorly defined in a virtual environment, and mostly
represents real world time instead of scheduled process time (which can be
interrupted without notice when a virtual machine is descheduled).

To make the scheduler consistent, we must expose a different nature of time,
that is scheduled time.  So deprecate this custom_sched_clock hack and turn it
into a paravirt-op, as it should have been all along.  This allows the tsc.c
code which converts cycles to nanoseconds to be shared by all paravirt-ops
backends.

It is unfortunate to add a new paravirt-op, but this is a very distinct
abstraction which is clearly different for all virtual machine
implementations, and it gets rid of an ugly indirect function which I
ashamedly admit I hacked in to try to get this to work earlier, and then even
got in the wrong units.

Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-05 07:57:52 -08:00
..
acpi Pull fluff into release branch 2007-02-16 22:10:32 -05:00
cpu Revert "[CPUFREQ] constify cpufreq_driver where possible." 2007-02-26 14:55:48 -08:00
.gitignore
alternative.c [PATCH] paravirt: Patch inline replacements for paravirt intercepts 2006-12-07 02:14:08 +01:00
apic.c Revert "[PATCH] i386: add idle notifier" 2007-02-26 09:21:46 -08:00
apm.c [PATCH] i386: use GTOD persistent clock support 2007-02-16 08:13:57 -08:00
asm-offsets.c [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
bootflag.c
cpuid.c [PATCH] i386: use smp_call_function_single() 2007-02-13 13:26:23 +01:00
crash_dump.c
crash.c [PATCH] Kexec / Kdump: Unify elf note code 2006-12-07 08:39:46 -08:00
doublefault.c
e820.c [PATCH] i386: romsignature/checksum cleanup 2007-02-13 13:26:22 +01:00
early_printk.c
efi_stub.S
efi.c [PATCH] EFI x86: pass firmware call parameters on the stack 2007-02-04 10:27:10 -08:00
entry.S [PATCH] i386: entry.S END/ENDPROC annotations 2007-02-13 13:26:24 +01:00
head.S [PATCH] i386: Rename cpu_gdt_descr and remove extern declaration from smpboot.c 2007-02-13 13:26:26 +01:00
hpet.c [PATCH] clockevents: i386 drivers 2007-02-16 08:13:59 -08:00
i386_ksyms.c
i387.c
i8237.c
i8253.c [PATCH] clockevents: i386 drivers 2007-02-16 08:13:59 -08:00
i8259.c [PATCH] genirq: do not mask interrupts by default 2007-02-16 08:14:00 -08:00
init_task.c
io_apic.c [PATCH] x86_64/i386 irq: Fix !CONFIG_SMP compilation 2007-02-28 08:52:31 -08:00
ioport.c
irq.c Revert "[PATCH] i386: add idle notifier" 2007-02-26 09:21:46 -08:00
kprobes.c [PATCH] i386: Kprobe rpl fix 2007-02-13 13:26:21 +01:00
ldt.c [PATCH] i386: remove default_ldt, and simplify ldt-setting. 2006-12-07 02:14:01 +01:00
machine_kexec.c
Makefile [PATCH] clockevents: i386 drivers 2007-02-16 08:13:59 -08:00
mca.c [PATCH] i386: replace kmalloc+memset with kzalloc 2006-12-07 02:14:19 +01:00
microcode.c [PATCH] i386: Fix warning in microcode.c 2007-02-13 13:26:25 +01:00
module.c [PATCH] Generic BUG for i386 2006-12-08 08:28:39 -08:00
mpparse.c ACPICA: use new ACPI headers. 2007-02-02 21:14:28 -05:00
msr.c [PATCH] i386: use smp_call_function_single() 2007-02-13 13:26:23 +01:00
nmi.c [PATCH] i386 prepare nmi watchdog for dynticks 2007-02-16 08:13:59 -08:00
numaq.c
paravirt.c [PATCH] vmi: sched clock paravirt op fix 2007-03-05 07:57:52 -08:00
pci-dma.c [PATCH] fix memory leak in dma_declare_coherent_memory() 2007-03-01 14:53:39 -08:00
pcspeaker.c [PATCH] x86: Unify pcspeaker platform device code between i386/x86-64 2007-02-13 13:26:26 +01:00
process.c Revert "[PATCH] i386: add idle notifier" 2007-02-26 09:21:46 -08:00
ptrace.c [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
quirks.c [PATCH] x86: Fix verify_quirk_intel_irqbalance() 2006-12-09 21:33:35 +01:00
reboot_fixups.c
reboot.c [PATCH] arch/i386/kernel/reboot.c should #include <linux/reboot.h> 2006-12-07 08:39:44 -08:00
relocate_kernel.S
scx200.c
setup.c [PATCH] x86: Unify pcspeaker platform device code between i386/x86-64 2007-02-13 13:26:26 +01:00
sigframe.h
signal.c [PATCH] x86: Don't require the vDSO for handling a.out signals 2007-02-13 13:26:26 +01:00
smp.c Revert "[PATCH] i386: add idle notifier" 2007-02-26 09:21:46 -08:00
smpboot.c [PATCH] clockevents: i386 drivers 2007-02-16 08:13:59 -08:00
srat.c ACPI: build fix for IBM x440 - CONFIG_X86_SUMMIT 2007-02-02 21:47:33 -05:00
summit.c
sys_i386.c
syscall_table.S
sysenter.c [PATCH] i386: Fix broken CONFIG_COMPAT_VDSO on i386 2007-02-13 13:26:26 +01:00
time.c [PATCH] clockevents: i386 drivers 2007-02-16 08:13:59 -08:00
topology.c Replace remaining references to "driverfs" with "sysfs". 2007-02-17 19:13:42 +01:00
trampoline.S [PATCH] i386: fix modpost warning in SMP trampoline code 2007-01-05 23:55:23 -08:00
traps.c [PATCH] i386: add option to show more code in oops reports 2007-02-13 13:26:25 +01:00
tsc_sync.c [PATCH] x86: rewrite SMP TSC sync code 2007-02-16 08:13:57 -08:00
tsc.c [PATCH] vmi: sched clock paravirt op fix 2007-03-05 07:57:52 -08:00
vm86.c [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
vmi.c [PATCH] vmi: sched clock paravirt op fix 2007-03-05 07:57:52 -08:00
vmitime.c [PATCH] vmi: sched clock paravirt op fix 2007-03-05 07:57:52 -08:00
vmlinux.lds.S [PATCH] i386: move startup_32() in text.head section 2007-02-13 13:26:22 +01:00
vsyscall-int80.S
vsyscall-note.S
vsyscall-sigreturn.S
vsyscall-sysenter.S
vsyscall.lds.S
vsyscall.S