Configure TSC frequency

Registered by Charles on 2019-10-31

libvirt currently supports exposing the invTSC falg, in turn it's possible to expose that feature to VMs with 'cpu_model_extra_flags'.
The only issue is that libvirt will only live-migrate VMs with an explicit TSC frequency and that configuring this is currently not possible.

# Not live-migratable
<cpu mode='...' >
    <feature policy='require' name='invtsc'/>
    ...
</cpu>
<clock offset='localtime'>
    <!-- Any clock here, but NO tsc freq -->
</clock>

# Live-migratable
<cpu mode='...' >
    <feature policy='require' name='invtsc'/>
    ...
</cpu>
<clock offset='localtime'>
    <timer name='tsc' frequency='...'/>
    ....
</clock>

Usecase: (Windows guest specific)
 Many games or game engines will look for the invTSC flag and make sure it's present or refuse to start or will not check for it, but behave unreliably if it isn't present. As a cloud operator I can enable the cpu flag, but I would also want to be able to live-migrate such VMs

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Charles
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Not started
Milestone target:
None
Completed by
Eric Fried on 2020-02-10

Related branches

Sprints

Whiteboard

[mriedem 2019-10-31] Could probably build on the code that added the hw_time_hpet image property support: https://blueprints.launchpad.net/nova/+spec/support-hpet-on-guest

[efried 20191031] Agree in nova meeting that this shouldn't need a spec, as long as the details are spelled out in the description.

[efried 20200130] Sent email to Charles asking whether this is still wanted for Ussuri. I don't see any code.

[efried 20200210] Abandoning this for now; the push dried up http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2020-02-10.log.html#t2020-02-10T19:10:50

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.