diff mbox

[v3] KVM: X86: Lower the default timer frequency limit to 200us

Message ID 1525518152-58340-1-git-send-email-wanpengli@tencent.com (mailing list archive)
State New, archived
Headers show

Commit Message

Wanpeng Li May 5, 2018, 11:02 a.m. UTC
From: Wanpeng Li <wanpengli@tencent.com>

Anthoine reported:
 The period used by Windows change over time but it can be 1 
 milliseconds or less. I saw the limit_periodic_timer_frequency 
 print so 500 microseconds is sometimes reached.

As suggested by Paolo, lower the default timer frequency limit to a
smaller interval of 200 us (5000 Hz) to leave some headroom. This
is required due to Windows 10 changing the scheduler tick limit
from 1024 Hz to 2048 Hz.

Reported-by: Anthoine Bourgeois <anthoine.bourgeois@blade-group.com>
Suggested-by: Paolo Bonzini <pbonzini@redhat.com> 
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Anthoine Bourgeois <anthoine.bourgeois@blade-group.com>
Cc: Darren Kenny <darren.kenny@oracle.com>
Cc: Jan Kiszka <jan.kiszka@web.de>
Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
---
v2 -> v3:
 * update patch subject and description
v1 -> v2:
 * update patch subject and description

 arch/x86/kvm/x86.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Wanpeng Li May 15, 2018, 1:33 a.m. UTC | #1
ping,
2018-05-05 19:02 GMT+08:00 Wanpeng Li <kernellwp@gmail.com>:
> From: Wanpeng Li <wanpengli@tencent.com>
>
> Anthoine reported:
>  The period used by Windows change over time but it can be 1
>  milliseconds or less. I saw the limit_periodic_timer_frequency
>  print so 500 microseconds is sometimes reached.
>
> As suggested by Paolo, lower the default timer frequency limit to a
> smaller interval of 200 us (5000 Hz) to leave some headroom. This
> is required due to Windows 10 changing the scheduler tick limit
> from 1024 Hz to 2048 Hz.
>
> Reported-by: Anthoine Bourgeois <anthoine.bourgeois@blade-group.com>
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Radim Krčmář <rkrcmar@redhat.com>
> Cc: Anthoine Bourgeois <anthoine.bourgeois@blade-group.com>
> Cc: Darren Kenny <darren.kenny@oracle.com>
> Cc: Jan Kiszka <jan.kiszka@web.de>
> Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
> ---
> v2 -> v3:
>  * update patch subject and description
> v1 -> v2:
>  * update patch subject and description
>
>  arch/x86/kvm/x86.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 51ecd38..dc47073 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -114,7 +114,7 @@ module_param(ignore_msrs, bool, S_IRUGO | S_IWUSR);
>  static bool __read_mostly report_ignored_msrs = true;
>  module_param(report_ignored_msrs, bool, S_IRUGO | S_IWUSR);
>
> -unsigned int min_timer_period_us = 500;
> +unsigned int min_timer_period_us = 200;
>  module_param(min_timer_period_us, uint, S_IRUGO | S_IWUSR);
>
>  static bool __read_mostly kvmclock_periodic_sync = true;
> --
> 2.7.4
>
Paolo Bonzini May 15, 2018, 9:57 a.m. UTC | #2
On 05/05/2018 13:02, Wanpeng Li wrote:
> From: Wanpeng Li <wanpengli@tencent.com>
> 
> Anthoine reported:
>  The period used by Windows change over time but it can be 1 
>  milliseconds or less. I saw the limit_periodic_timer_frequency 
>  print so 500 microseconds is sometimes reached.
> 
> As suggested by Paolo, lower the default timer frequency limit to a
> smaller interval of 200 us (5000 Hz) to leave some headroom. This
> is required due to Windows 10 changing the scheduler tick limit
> from 1024 Hz to 2048 Hz.
> 
> Reported-by: Anthoine Bourgeois <anthoine.bourgeois@blade-group.com>
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com> 
> Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Radim Krčmář <rkrcmar@redhat.com>
> Cc: Anthoine Bourgeois <anthoine.bourgeois@blade-group.com>
> Cc: Darren Kenny <darren.kenny@oracle.com>
> Cc: Jan Kiszka <jan.kiszka@web.de>
> Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
> ---
> v2 -> v3:
>  * update patch subject and description
> v1 -> v2:
>  * update patch subject and description
> 
>  arch/x86/kvm/x86.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 51ecd38..dc47073 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -114,7 +114,7 @@ module_param(ignore_msrs, bool, S_IRUGO | S_IWUSR);
>  static bool __read_mostly report_ignored_msrs = true;
>  module_param(report_ignored_msrs, bool, S_IRUGO | S_IWUSR);
>  
> -unsigned int min_timer_period_us = 500;
> +unsigned int min_timer_period_us = 200;
>  module_param(min_timer_period_us, uint, S_IRUGO | S_IWUSR);
>  
>  static bool __read_mostly kvmclock_periodic_sync = true;
> 

Applied, thanks.

Paolo
diff mbox

Patch

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 51ecd38..dc47073 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -114,7 +114,7 @@  module_param(ignore_msrs, bool, S_IRUGO | S_IWUSR);
 static bool __read_mostly report_ignored_msrs = true;
 module_param(report_ignored_msrs, bool, S_IRUGO | S_IWUSR);
 
-unsigned int min_timer_period_us = 500;
+unsigned int min_timer_period_us = 200;
 module_param(min_timer_period_us, uint, S_IRUGO | S_IWUSR);
 
 static bool __read_mostly kvmclock_periodic_sync = true;