linux/arch/i386
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
..
boot Use ARRAY_SIZE() macro in i386 relocs.c file 2007-02-17 19:10:01 +01:00
crypto [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
kernel [PATCH] vmi: sched clock paravirt op fix 2007-03-05 07:57:52 -08:00
lib {rd,wr}msr_on_cpu SMP=n optimization 2007-02-20 14:29:37 -05:00
mach-default [PATCH] clockevents: i386 drivers 2007-02-16 08:13:59 -08:00
mach-es7000 ACPICA: Remove duplicate table manager 2007-02-02 21:14:28 -05:00
mach-generic [PATCH] i386: make apic probe function non-init 2007-01-11 01:52:44 +01:00
mach-visws [PATCH] visws: sgivwfb as module needs exports 2006-12-08 08:29:07 -08:00
mach-voyager [PATCH] x86: fix PDA variables to work during boot 2007-01-22 19:39:36 -08:00
math-emu [PATCH] i386: avoid gcc extension 2007-02-13 13:26:24 +01:00
mm [PATCH] i386: Remove extern declaration from mm/discontig.c, put in header. 2007-02-13 13:26:26 +01:00
oprofile Replace remaining references to "driverfs" with "sysfs". 2007-02-17 19:13:42 +01:00
pci PCI: add systems for automatic breadth-first device sorting 2007-02-16 15:30:11 -08:00
power Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-12-07 08:59:11 -08:00
defconfig [PATCH] i386: Update defconfig 2007-02-13 13:26:19 +01:00
Kconfig [PATCH] tick management: make broadcast dependent on local APIC 2007-02-19 14:22:43 -08:00
Kconfig.cpu [PATCH] i386: Remove unused kernel config option X86_XADD 2007-02-13 13:26:25 +01:00
Kconfig.debug [PATCH] i386: Paravirt debug defaults off 2007-02-13 13:26:22 +01:00
Makefile [PATCH] x86: add -freg-struct-return to CFLAGS 2007-02-26 12:53:30 -08:00
Makefile.cpu [PATCH] i386: Add support for compilation for Core2 2006-12-07 02:14:09 +01:00