[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.1908212316040.1983@nanos.tec.linutronix.de>
Date: Wed, 21 Aug 2019 23:17:35 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Vitaly Kuznetsov <vkuznets@...hat.com>
cc: linux-hyperv@...r.kernel.org, linux-kernel@...r.kernel.org,
x86@...nel.org, Ingo Molnar <mingo@...hat.com>,
Borislav Petkov <bp@...en8.de>,
"H. Peter Anvin" <hpa@...or.com>,
"K. Y. Srinivasan" <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Stephen Hemminger <sthemmin@...rosoft.com>,
Sasha Levin <sashal@...nel.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Michael Kelley <mikelley@...rosoft.com>,
Tianyu Lan <Tianyu.Lan@...rosoft.com>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH] x86/hyper-v: enable TSC page clocksource on 32bit
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@...hat.com>
> ---
> 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
Powered by blists - more mailing lists