Re: [PATCH] x86/hyper-v: enable TSC page clocksource on 32bit

From: Vitaly Kuznetsov
Date: Thu Aug 22 2019 - 09:44:28 EST


Thomas Gleixner <tglx@xxxxxxxxxxxxx> writes:

> On Wed, 21 Aug 2019, Thomas Gleixner wrote:
>
>> On Wed, 21 Aug 2019, Vitaly Kuznetsov wrote:
>>
>> > There is no particular reason to not enable TSC page clocksource
>> > on 32-bit. mul_u64_u64_shr() is available and despite the increased
>> > computational complexity (compared to 64bit) TSC page is still a huge
>> > win compared to MSR-based clocksource.
>> >
>> > In-kernel reads:
>> > MSR based clocksource: 3361 cycles
>> > TSC page clocksource: 49 cycles
>> >
>> > Reads from userspace (unilizing vDSO in case of TSC page):
>> > MSR based clocksource: 5664 cycles
>> > TSC page clocksource: 131 cycles
>> >
>> > Enabling TSC page on 32bits allows us to get rid of CONFIG_HYPERV_TSCPAGE
>>
>> s/allows us/allows/
>>
>> > as it is now not any different from CONFIG_HYPERV_TIMER.
>> >
>> > Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
>> > ---
>> > arch/x86/include/asm/vdso/gettimeofday.h | 6 +++---
>> > drivers/clocksource/hyperv_timer.c | 11 -----------
>> > drivers/hv/Kconfig | 3 ---
>> > include/clocksource/hyperv_timer.h | 6 ++----
>> > 4 files changed, 5 insertions(+), 21 deletions(-)
>>
>> Really nice cleanup as a side effect of adding functionality.
>
> That said, could you please rebase that on
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
>
> as I just applied the TSC page patches there and this conflicts left and
> right.

Sure, v2 is coming!

--
Vitaly