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

From: Thomas Gleixner
Date: Wed Aug 21 2019 - 17:17:40 EST


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.

Thanks,

tglx