On 11/23/2010 04:53 AM, lidong chen wrote:
Test method: Send the same traffic load between virtio_pci MSI-X disable and enable,and compare the cpu rate of host os. I used the same version of virtio driver, only modify the msi-x option. the host os version is 2.6.32. the virtio dirver is from rhel6. the guest version os is 2.6.16. Test result: with msi-x disable, the cpu rate of host os is 110%. with msi-x enable, the cpu rate of host os is 140%.
...
Conclusion: msi-x enable waste more cpu resource is caused by MSIX mask bit. In older kernels program this bit twice on every interrupt. and caused ept violation. So I think we should add a param to control this.with older kernels, we should disable MSIX. And I think this should deal by qemu.
There is now work in progress (by Sheng Yang) to speed up mask bit emulation, which should improve things. Also, newer kernels don't hit the mask bit so hard. You might try to backport the mask bit patches to your 2.6.16 guest.
-- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html