Comment 17 for bug 1851062

Revision history for this message
In , kevin (kevin-redhat-bugs-1) wrote :

Description of problem:

virt-install currently enables hv-time,hv-relaxed,hv-vapic,hv-spinlocks=0x1fff for guests which support Hyper-V. There are several additional Hyper-V enlightenments supported by QEMU and libvirt (see https://github.com/qemu/qemu/blob/master/docs/hyperv.txt and https://libvirt.org/formatdomain.html#elementsFeatures) which could be useful to enable. In particular, hv_stimer significantly reduces CPU usage when supporting VMs are paused (see https://lore.kernel.org/kvm/20200625201046.GA179502@kevinolos/).

Version-Release number of selected component (if applicable): 2.2.1/master

How reproducible: 100%

Steps to Reproduce:
1. virt-install --os-variant win10 --print-xml

Actual results:
<hyperv>
  <relaxed state="on"/>
  <vapic state="on"/>
  <spinlocks state="on" retries="8191"/>
</hyperv>

Expected results:
Something more like:
<hyperv>
  <relaxed state='on'/>
  <vapic state='on'/>
  <spinlocks state="on" retries="8191"/>
  <vpindex state='on'/>
  <runtime state='on'/>
  <synic state='on'/>
  <stimer state='on'/>
  <frequencies state='on'/>
  <tlbflush state='on'/>
  <ipi state='on'/>
</hyperv>

Additional info:
I'm not advocating for any specific Hyper-V enlightenments to be enabled, but I suspect the current defaults are sub-optimal and I would be willing to help improve them. Is there a process for evaluating which to enable, or is it simply a matter of adding defaults for features which weren't available previously?

Thanks,
Kevin