2018-04-30 23:38:12

by Wanpeng Li

[permalink] [raw]
Subject: [PATCH v2] KVM: X86: Limit timer frequency to 200ms

From: Wanpeng Li <[email protected]>

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 timer frequency limit to a
smaller interval of 200 ms (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 <[email protected]>
Suggested-by: Paolo Bonzini <[email protected]>
Reviewed-by: Darren Kenny <[email protected]>
Cc: Paolo Bonzini <[email protected]>
Cc: Radim Krčmář <[email protected]>
Cc: Anthoine Bourgeois <[email protected]>
Cc: Darren Kenny <[email protected]>
Signed-off-by: Wanpeng Li <[email protected]>
---
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



2018-05-04 23:45:20

by Wanpeng Li

[permalink] [raw]
Subject: Re: [PATCH v2] KVM: X86: Limit timer frequency to 200ms

ping,
2018-05-01 7:35 GMT+08:00 Wanpeng Li <[email protected]>:
> From: Wanpeng Li <[email protected]>
>
> 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 timer frequency limit to a
> smaller interval of 200 ms (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 <[email protected]>
> Suggested-by: Paolo Bonzini <[email protected]>
> Reviewed-by: Darren Kenny <[email protected]>
> Cc: Paolo Bonzini <[email protected]>
> Cc: Radim Krčmář <[email protected]>
> Cc: Anthoine Bourgeois <[email protected]>
> Cc: Darren Kenny <[email protected]>
> Signed-off-by: Wanpeng Li <[email protected]>
> ---
> 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
>

2018-05-05 08:37:23

by Jan Kiszka

[permalink] [raw]
Subject: Re: [PATCH v2] KVM: X86: Limit timer frequency to 200ms

On 2018-05-05 01:44, Wanpeng Li wrote:
> ping,
> 2018-05-01 7:35 GMT+08:00 Wanpeng Li <[email protected]>:
>> From: Wanpeng Li <[email protected]>
>>
>> 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 timer frequency limit to a
>> smaller interval of 200 ms (5000 Hz) to leave some headroom. This
>> is required due to Windows 10 changing the scheduler tick limit
>> from 1024 Hz to 2048 Hz.

"... lower the *default* timer frequency limit to a smaller interval of
200 *us* ..." - same for the subject.

(Amazing that even Windows 10 still uses periodic ticks.)

Jan

>>
>> Reported-by: Anthoine Bourgeois <[email protected]>
>> Suggested-by: Paolo Bonzini <[email protected]>
>> Reviewed-by: Darren Kenny <[email protected]>
>> Cc: Paolo Bonzini <[email protected]>
>> Cc: Radim Krčmář <[email protected]>
>> Cc: Anthoine Bourgeois <[email protected]>
>> Cc: Darren Kenny <[email protected]>
>> Signed-off-by: Wanpeng Li <[email protected]>
>> ---
>> 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
>>
>


2018-05-05 11:03:47

by Wanpeng Li

[permalink] [raw]
Subject: Re: [PATCH v2] KVM: X86: Limit timer frequency to 200ms

2018-05-05 16:36 GMT+08:00 Jan Kiszka <[email protected]>:
> On 2018-05-05 01:44, Wanpeng Li wrote:
>> ping,
>> 2018-05-01 7:35 GMT+08:00 Wanpeng Li <[email protected]>:
>>> From: Wanpeng Li <[email protected]>
>>>
>>> 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 timer frequency limit to a
>>> smaller interval of 200 ms (5000 Hz) to leave some headroom. This
>>> is required due to Windows 10 changing the scheduler tick limit
>>> from 1024 Hz to 2048 Hz.
>
> "... lower the *default* timer frequency limit to a smaller interval of
> 200 *us* ..." - same for the subject.

Thanks Jan, I will update it.

Regards,
Wanpeng Li