[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 0/6] x86/time: PVCLOCK_TSC_STABLE_BIT support
[Missed CC-ing the maintainers in the cover letter, my apologies] On 08/24/2016 01:43 PM, Joao Martins wrote: > Hey! > > This is v3 on the pvclock TSC stable bit series. > > Complete changelog on individual patches but overall is addressing > Jan's comments, plus some other changes regarding the recent monotonicity > improvements on x86/time. > > Series is divided as follows: > > R * Patch 1: Small refactor around init_platform_time to reuse > initialization code when switching to TSC. > U * Patch 2: Adds a new clocksource based on TSC > U,U * Patch 3, 4: Adjustments for patch 5 > U * Patch 5: Implements the PVCLOCK_TSC_STABLE_BIT > N * Patch 6: Document new clocksource > > [ R := Reviewed-by ;; U := Updated ;; N := New ] > > I kept the series the same but a fundamental difference from previous > versions is that I stop clocksource=tsc from being used at all if hotplug is > possible. To facilitate the review I kept it on Patch 5 as originally posted, > whereas clocksource is added in Patch 2. But if preferred I can merge these > two. > > The main benefit of this series is two-fold: > > 1. Provide the guarantee of monotonic results on xen own system time as seen > by any cpu when using TSC as clocksource. > > 2. Provide this same guarantee to guests and thus set the > TSC_STABLE_BIT (both FreeBSD and Linux support it) which then allows guests > to > skip expensive monotonicity check between PV CPU time infos. Plus, on Linux > specifically this also means that it could support vDSO which greatly > increases > performance (x10) for gettimeofday and clock_gettime since it would no > longer need to do the system call to get a reliable snapshot of system time. > For a reference on my laptop the speed of gettimeofday under xen pvclock is > ~2 Mops/sec (Million ops per sec) whereas with vDSO it's on the range > of ~22 Mops/sec on <= 4.4 kernels and ~37 Mops on >= 4.5. > > Doing a long running time warp test for the past days on a dual-socket > Haswell > machine and I haven't yet seen time going backwards. > > Thanks! > Joao > > Joao Martins (6): > x86/time: refactor init_platform_time() > x86/time: implement tsc as clocksource > x86/time: streamline platform time init on plt_update() > x86/time: refactor read_platform_stime() > x86/time: implement PVCLOCK_TSC_STABLE_BIT > docs: update clocksource option > > docs/misc/xen-command-line.markdown | 6 +- > xen/arch/x86/platform_hypercall.c | 3 +- > xen/arch/x86/time.c | 226 > +++++++++++++++++++++++++++++++----- > xen/include/asm-x86/time.h | 1 + > 4 files changed, 205 insertions(+), 31 deletions(-) > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |