[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14986102#comment-14986102
 ] 

Josh Harshman commented on CLOUDSTACK-8978:
-------------------------------------------

Some of the hyperV options we are going to be taking advantage of, are version 
dependent.
hv_relaxed: Available in libvirt 1.0.0+ and qemu 1.1+
hv_vapic: Available in libvirt 1.1.0+ and qemu 1.1+
hv_spinlocks: Available in libvirt 1.1.0 and qemu 1.1+
hv_time: Available in libvirt 1.2.2+ and qemu 2.0+

Might want to include a check for the libvirt and qemu version before 
implementing.  The instance variable _hypervisorQemuVersion and 
_hypervisorLibvirtVersion in LibvirtComputingResource.java can be used to 
perform a simple check before implementing these hyperV enlightenments

> Make use of Hyper-V clock on KVM node
> -------------------------------------
>
>                 Key: CLOUDSTACK-8978
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8978
>             Project: CloudStack
>          Issue Type: Improvement
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: KVM
>    Affects Versions: 4.5.2
>         Environment: Ubuntu 14.04 LTS
>            Reporter: Josh Harshman
>            Assignee: Josh Harshman
>            Priority: Minor
>              Labels: patch, performance, windows
>
> Currently, for any windows guest OS, we set RTC for the clock source.  This 
> seems to contribute to clock-drift issues leading to BSODs on Windows Server 
> 2008 R2 Guests.
> I believe a possible improvement would be to set Windows guests to use the 
> hyper-v clock.  To do this we will need CloudStack to generate the 
> appropriate Libvirt XML which would look somewhat like the following:
>  <features>  
>   <hyperv>  
>    <relaxed state='on'/>  
>    <vapic state='on'/>  
>    <spinlocks state='on' retries='8191'/>  
>   </hyperv>  
>  <features/>  
>  <clock ...>  
>   <timer name='hypervclock' present='yes'/>  
>  </clock>  
> I believe the following code snippet from LibvirtComputingResource.java could 
> be a starting place to implement this.
>         if (vmTO.getOs().startsWith("Windows")) {
>             clock.setClockOffset(ClockDef.ClockOffset.LOCALTIME);
>             clock.setTimer("rtc", "catchup", null);
> Let me know what you all think about this change.
> Is there a better place / way to implement this?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to