|
|
|
|
|
|
|
|
|
|
xen-devel
RE: [Xen-devel] Re: [PATCH] x86: unconditionally mark TSC unstable under
> From: Jeremy Fitzhardinge [mailto:jeremy@xxxxxxxx]
> Sent: Thursday, July 15, 2010 10:30 AM
> Subject: Re: [Xen-devel] Re: [PATCH] x86: unconditionally mark TSC
> unstable under Xen
>
> On 07/15/2010 08:57 AM, Stefano Stabellini wrote:
> > On Wed, 14 Jul 2010, Jeremy Fitzhardinge wrote:
> >
> >> Subject: [PATCH] xen: disable xen_sched_clock by default
> >>
> >> xen_sched_clock only counts unstolen time. In principle this should
> >> be useful to the Linux scheduler so that it knows how much time a
> process
> >> actually consumed. But in practice this doesn't work very well as
> the
> >> scheduler expects the sched_clock time to be synchronized between
> >> cpus. It also uses sched_clock to measure the time a task spends
> >> sleeping, in which case "unstolen time" isn't meaningful.
> >>
> >> So just use plain xen_clocksource_read to return wallclock
> nanoseconds
> >> for sched_clock.
> >>
> >>
> > I think that in this context is worth mentioning that
> > xen_clocksource_read ends up calling pvclock_get_nsec_offset that
> calls
> > native_read_tsc.
>
> That's different. That's not a general rdtsc, but a specific use of
> the tsc within the Xen clock ABI. We know and expect that the raw tsc
> value could be dubious, but we also have the Xen-provided corrections to
> apply to it.
Sorry if I'm a bit behind on this...
Isn't the real problem that, in a PV guest, the cpuid instructions
that are testing the TSC-related CPUID bits are obtaining the actual
hardware value, rather than what Xen would like the guest to believe?
IOW, isn't the correct fix to use pvcpuid instead of cpuid when
xen_pvdomain() is true?
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|