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

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


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.

Thanks,

tglx