While researching ESX architecture and performance, I came accross a VMWare KB article about the performance impact of shared interrupt lines.

It comes down to this: if you have two controllers on the same interrupt line, and one controller is managed by the console OS while the other is managed by the VMKernel, performance can be impacted. This could be a USB controller that is managed by the console OS and a storage controller that is managed by the VMKernel. Performance is impacted because of context switches between the console OS and the VMKernel.

So, the golden rule is: disable unused controllers such as USB controllers.

By the way: when you configure a controller (such as a storage controller) to be dedicated to virtual machines but shared with the console OS, it is the VMKernel that manages the device.