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
..
2006-10-28 11:30:52 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:11 -07:00
2005-09-07 16:57:21 -07:00
2006-12-08 08:28:39 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-01-18 19:20:31 -08:00
2005-04-16 15:20:36 -07:00
2007-01-26 13:50:58 -08:00
2007-02-16 08:13:59 -08:00
2007-02-16 08:13:59 -08:00
2005-04-16 15:20:36 -07:00
2007-03-05 07:57:50 -08:00
2007-02-09 09:14:07 -08:00
2006-01-10 08:01:34 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-05-26 16:16:16 -07:00
2005-04-16 15:20:36 -07:00
2006-10-03 08:03:41 -07:00
2005-04-16 15:20:36 -07:00
2006-02-15 15:32:22 -08:00
2005-04-16 15:20:36 -07:00
2006-12-07 02:14:12 +01:00
2007-02-16 08:13:59 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-12-07 02:14:01 +01:00
2005-04-16 15:20:36 -07:00
2007-01-26 13:50:58 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-12-07 02:14:01 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-02-13 13:26:21 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-09-26 10:52:32 +02:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-02-13 13:26:21 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-02-13 13:26:21 +01:00
2006-06-29 16:58:06 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-03-05 07:57:51 -08:00
2007-02-16 08:13:57 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-12-07 08:39:37 -08:00
2006-12-15 08:47:51 -08:00
2005-04-16 15:20:36 -07:00
2006-10-12 22:25:03 -05:00
2005-09-05 00:06:11 -07:00