Interrupts

On lower end processors and implementations with < 10 CPUs, the interrupts caused by the packet rates are usually not sufficient to impact the overall performance of the vt800. However, as the rates increases, the load on the cores assigned to handling interrupts will affect performance. As packets are processed on the host and the guest, twice the normal number of interrupts occur. If possible, CPUs in the guest (VT800) should be reserved for interrupts and host interrupts should be directed to CPUs that are not used by the guest. The CPU pinnings withing the VT800 reserve CPUs for interrupts, and irqbalance can be used to direct the interrupts there. Irqbalance should be used on the host to direct interrupts to unused CPUs (if available).

halt_poll_ns

CPUs with variable clock rates (Xeon) will delay the CPU from halting even when it is idle. This reduces the latency of a CPU. On these processors setting the value to 600000 has shown to increases overall packet performance.
sudo sh -c "echo 600000 > /sys/module/kvm/parameters/halt_poll_ns"
On CPUs with static clock rates (Atom), setting the value to 0 has shown to increases overall packet performance.
sudo sh -c "echo 0 > /sys/module/kvm/parameters/halt_poll_ns"

This setting will revert to default on a host reboot and will need to be reset.

Performance governor

On CPUs with variable clock rates (Xeon), this setting also reduces the latency of a CPU. it disallows a CPU’s clock from dropping too low, effectively keeping it “warm”. As frequency governors do not exist on an Atom processor, this command has no effect there.
sudo cpupower frequency-set --governor performance

This setting will revert to default on a host reboot and will need to be reset.