Re: Network I/O performance

Avi Kivity
2009-05-13T07:23:34Z

Fischer, Anna wrote:
> I am running KVM with Fedora Core 8 on a 2.6.23 32-bit kernel. I use the tun/tap device model and the Linux bridge kernel module to connect my VM to the network. I have 2 10G Intel 82598 network devices (with the ixgbe driver) attached to my machine and I want to do packet routing in my VM (the VM has two virtual network interfaces configured). Analysing the network performance of the standard QEMU emulated NICs, I get less that 1G of throughput on those 10G links. Surprisingly though, I don't really see CPU utilization being maxed out. This is a dual core machine, and mpstat shows me that both CPUs are about 40% idle. My VM is more or less unresponsive due to the high network processing load while the host OS still seems to be in good shape. How can I best tune this setup to achieve bes
t possible performance with KVM? I know there is virtIO and I know there is PCI pass-through, but those models are not an option for me right now.
>

How many cpus are assigned to the guest? If only one, then 40% idle
equates to 100% of a core for the guest and 20% for housekeeping.

If this is the case, you could try pinning the vcpu thread ("info cpus"
from the monitor) to one core. You should then see 100%/20% cpu load
distribution.

wrt emulated NIC performance, I'm guessing you're not doing tcp? If you
were we might do something with TSO.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.