• Paolo Bonzini's avatar
    KVM: x86: reduce default value of halt_poll_ns parameter · 84f2443e
    Paolo Bonzini authored
    commit 14ebda33 upstream.
    
    Windows lets applications choose the frequency of the timer tick,
    and in Windows 10 the maximum rate was changed from 1024 Hz to
    2048 Hz.  Unfortunately, because of the way the Windows API
    works, most applications who need a higher rate than the default
    64 Hz will just do
    
       timeGetDevCaps(&tc, sizeof(tc));
       timeBeginPeriod(tc.wPeriodMin);
    
    and pick the maximum rate.  This causes very high CPU usage when
    playing media or games on Windows 10, even if the guest does not
    actually use the CPU very much, because the frequent timer tick
    causes halt_poll_ns to kick in.
    
    There is no really good solution, especially because Microsoft
    could sooner or later bump the limit to 4096 Hz, but for now
    the best we can do is lower a bit the upper limit for
    halt_poll_ns. :-(
    Reported-by: default avatarJon Panozzo <jonp@lime-technology.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    84f2443e
kvm_host.h 35.6 KB