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@redhat.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