[libvirt] [RFC PATCH] Add support for invtsc timer

Ján Tomko jtomko at redhat.com
Wed May 7 07:28:57 UTC 2014


On 05/06/2014 04:50 PM, Daniel P. Berrange wrote:
> On Tue, May 06, 2014 at 03:27:20PM +0200, Ján Tomko wrote:
>>
>> The support for this timer is indicated by bit 8 of EDX after calling
>> CPUID with 0x80000007. It does not show up in /proc/cpuinfo [1]
>> and since we're calling qemu without 'enforce', it doesn't error
>> out if the host doesn't support this.
> 
> Maybe I'm mis-interpreting the kernel source, but my reading of
> that was that this *does* show up in /proc/cpuinfo, but it is
> given the name 'constant_tsc' instead of 'invtsc'.
> 
> On my host I see 'constant_tsc' and 'nonstop_tsc' in /proc/cpuinfo

I see them too, despite not having this invariant TSC feature - the less
'enhanced' timer is enough for these flags to appear.

> 
>> Alternatively, we could expose it in libvirt as a cpu flag:
>> <cpu mode='custom' match='exact'>
>>   <model fallback='forbid'>qemu64</model>
>>   <feature policy='require' name='invtsc'/>
>> </cpu>
>> or maybe add +invtsc to qemu args when the 'nonstop_tsc' flag is
>> requested?
> 
> Yep, I could see that as a valid option. If it is visible
> in /proc/cpuinfo, then I think that's a compelling reason for
> libvirt to model it as a CPU flag too, rather than pretend it
> is a new type of timer when it is just an attribute of the
> base TSC timer.

The lack of a name in /proc/cpuinfo for this feature is the reason
I posted the <timer> version first.

Jan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140507/0bc9fc05/attachment-0001.sig>


More information about the libvir-list mailing list