I have a Linux farm in VMware Enterprise 5.5. The VMs are (mostly) 64-bit amd64 Debian Jessie servers with SysVinit and not systemd. The VMs have open-vm-tools installed.
Paravirtual drivers are ones where the virtualization platform does not have to emulate another device, such as an Intel E1000 NIC or a LSI Logic SAS SCSI adapter. These paravirtual drivers essentially cut the middleman out by ditching the emulation layer, which usually results in significant performance increases.
lspci | egrep "PVSCSI|VMXNET" can show, ethernet and disks are now paravirtualized:
3:00.0 Serial Attached SCSI controller: VMware PVSCSI SCSI Controller (rev 02) 0b:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
Doing cat to
/proc/interrupts is is easy to show there are interrupts associated to them and to the functionalities paravirtualization depends on:
56: 6631557 0 PCI-MSI 1572864-edge vmw_pvscsi 57: 72647654 0 PCI-MSI 5767168-edge eth0-rxtx-0 58: 44570979 0 PCI-MSI 5767169-edge eth0-rxtx-1 59: 0 0 PCI-MSI 5767170-edge eth0-event-2 60: 1 0 PCI-MSI 129024-edge vmw_vmci 61: 0 0 PCI-MSI 129025-edge vmw_vmci
vmw_vmci: The Virtual Machine Communication Interface. It enables high-speed communication between host and guest in a virtual environment via the VMCI virtual device.
It seems obvious using itop they are fairly used monitoring a moderately busy SSL-enabled web front end:
INT NAME RATE MAX 57 [ 0 0 ] 142 Ints/s (max: 264) 58 [ 0 0 ] 155 Ints/s (max: 185) 59 [ 0 0 ] 119 Ints/s (max: 419) 60 [ 0 0 ] 133 Ints/s (max: 479)
I am quite sure
irqbalance is not needed in VMs with CPU affinity, and in single core VMs. The two servers where we have CPU affinity manually configured have indeed special needs, as in general cases, the literature says
irqbalance is supposed to do a better job.
So my question is, when is irqbalance necessary to distribute interrupt load via the different CPUs for multi-CPU Linux VMs?
Note: I already consulted some papers, and a related (dated) serverfault post, they are not very clear about it. I also found an academic paper voicing similar concerns for Xen. vBalance: Using Interrupt Load Balance to Improve I/O Performance for SMP Virtual Machines