I think you may want to add following parameters to Kernel boot (/etc/default/grub) parameters
intel_idle.max_cstate=0 processor.max_cstate=0 idle=poll intel_pstate=disable
At the same time, you may also want to shutdown/open Pause Loop Exiting (PLE). See   for more details about PLE, and see   for more details about Intel C-States and P-States.
How to Shutdown PLE:
sudo rmmod kvm_intel sudo modprobe kvm_intel ple_gap=0 ple_window=0 cat /sys/module/kvm_intel/parameters/ple*
How to turn on PLE:
sudo rmmod kvm_intel sudo modprobe kvm_intel cat /sys/module/kvm_intel/parameters/ple*
IDLE=POLL means when vCPU is idle CPU will execute
No Op instruction like spin-lock does. This will trigger PLE if PLE is turned on.
Also see https://events.linuxfoundation.org/sites/events/files/slides/LinuxConEurope_2015.pdf for more details about P-States.