-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/12360/
-----------------------------------------------------------

Review request for cloudstack, edison su, soren, and Wei Zhou.


Summary (updated)
-----------------

custom cpu model for kvm guest.the default model 'QEMU Virtual CPU version xxx' 
affect the activation of Windows OS and low performance.


Repository: cloudstack-git


Description (updated)
-------

Add cpu model for kvm guest.Now all the kvm guest's cpu model is 'QEMU Virtual 
CPU version xxx'. This will affect the activation of Windows OS and low 
performance. I add three mode for user to indicate the guest cpu model. some 
ideas come from openstack and libvirt.
user can uncomment guest.cpu.mode and guest.cpu.model in agent.properties to 
enable this feature.it is disabled by default.
some details as follows:
custom - user custom the CPU model which specified by guest.cpu.model.
host-model - identify the named CPU model which most closely matches the host, 
and then request additional CPU flags to complete the match. This should give 
close to maximum functionality/performance, which maintaining good 
reliability/compatibility if the guest is migrated to another host with 
slightly different host CPUs.
host-passthrough - tell KVM to passthrough the host CPU with no modifications. 
The difference to host-model, instead of just matching feature flags, every 
last detail of the host CPU is matched. This gives absolutely best 
performance,and can be important to some apps which check low level CPU 
details, but it comes at a cost wrt migration. The guest can only be migrated 
to an exactly matching host CPU. 


Diffs (updated)
-----

  agent/conf/agent.properties 60030ae 
  
plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
 914017c 
  
plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java 
5120870 
  
plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java
 2c0ff8d 

Diff: https://reviews.apache.org/r/12360/diff/


Testing (updated)
-------

1.set guest.cpu.mode=custom,guest.cpu.model=Nehalem in agent.properties,you can 
get more guest.cpu.model by execute virsh capabilities .create a new vm 
instance or reboot your vm instance,the guest's cpu model will change as 
guest.cpu.model specified.
2.set guest.cpu.mode=host-model,create a new vm instance or reboot your vm 
instance the guest's cpu model will be a closely cpu model as your hypervisor.
3.set guest.cpu.mode=host-passthrough,create a new vm instance or reboot your 
vm instance,the guest's cpu model should be the cpu model as your hypervisor.


Thanks,

Jijun Liu

Reply via email to