Re: Re: [RFC PATCH 0/2] kvm/vmx: Output TSC offset

Yoshihiro YUNOMAE
2012-11-16T08:09:40Z

Hi Marcelo,

Thank you for commenting on my patch set.

(2012/11/16 12:19), Marcelo Tosatti wrote:
> On Wed, Nov 14, 2012 at 10:36:21AM +0900, Yoshihiro YUNOMAE wrote:
[...]
>> In this summary, I suggest the patch which TSC offset for each guest can be
>> output on the host.
>
> The guest TSC can change (for example if TSC scaling is used). Moreover
> TSC offset can change, and you'd have to monitor that. What

Yes, that's true. Changing TSC offset is the key point to use TSC for
merging trace data of guests and the host.

> about a module option so that tsc_offset is written as zero (to be
> used as debugging tool). Then the following restrictions apply:
>
> - TSC must be synchronized across CPUs/VCPUS.
> - TSC must be reliable.
>
> Would that suffice? (a module option to kvm.ko, say zero_tsc_offset).

As you say, the guest TSC can change, so guest TSC needs to meet these
two restrictions to merge the trace data in chronological order.

However, the zero-TSC offset method is not enough, I think.
I will use TSC values as the tracing timestamp not only for debugging
but for failure analysis on actual operations. When we introduce
the zero-TSC offset, normally it will be no problem. However, if
the guest executes write_tsc or the guest works live migration, TSC
offset will be changed. After all, we need to monitor the TSC offset
value.

Thank you,

--
Yoshihiro YUNOMAE
Software Platform Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: yoshihiro.yunomae.ez@hitachi.com