From: Joao Martins <joao.m.martins@oracle.com>
To: xen-devel@lists.xen.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
Jan Beulich <JBeulich@suse.com>
Subject: Re: [PATCH v3 0/6] x86/time: PVCLOCK_TSC_STABLE_BIT support
Date: Wed, 24 Aug 2016 13:50:01 +0100 [thread overview]
Message-ID: <57BD97F9.8020705@oracle.com> (raw)
In-Reply-To: <1472042632-12883-1-git-send-email-joao.m.martins@oracle.com>
[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@lists.xen.org
https://lists.xen.org/xen-devel
prev parent reply other threads:[~2016-08-24 12:50 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-24 12:43 [PATCH v3 0/6] x86/time: PVCLOCK_TSC_STABLE_BIT support Joao Martins
2016-08-24 12:43 ` [PATCH v3 1/6] x86/time: refactor init_platform_time() Joao Martins
2016-08-25 10:03 ` Jan Beulich
2016-08-26 14:54 ` Joao Martins
2016-08-24 12:43 ` [PATCH v3 2/6] x86/time: implement tsc as clocksource Joao Martins
2016-08-25 10:06 ` Jan Beulich
2016-08-26 15:11 ` Joao Martins
2016-08-29 9:36 ` Jan Beulich
2016-08-30 12:08 ` Joao Martins
2016-08-30 12:30 ` Jan Beulich
2016-08-30 13:59 ` Joao Martins
2016-08-24 12:43 ` [PATCH v3 3/6] x86/time: streamline platform time init on plt_update() Joao Martins
2016-08-25 10:13 ` Jan Beulich
2016-08-26 15:12 ` Joao Martins
2016-08-29 9:41 ` Jan Beulich
2016-08-30 12:10 ` Joao Martins
2016-08-30 12:31 ` Jan Beulich
2016-09-09 16:32 ` Joao Martins
2016-09-12 7:26 ` Jan Beulich
2016-09-12 10:35 ` Joao Martins
2016-08-24 12:43 ` [PATCH v3 4/6] x86/time: refactor read_platform_stime() Joao Martins
2016-08-25 10:17 ` Jan Beulich
2016-08-26 15:13 ` Joao Martins
2016-08-29 9:42 ` Jan Beulich
2016-08-24 12:43 ` [PATCH v3 5/6] x86/time: implement PVCLOCK_TSC_STABLE_BIT Joao Martins
2016-08-25 10:37 ` Jan Beulich
2016-08-26 15:44 ` Joao Martins
2016-08-29 10:06 ` Jan Beulich
2016-08-30 12:26 ` Joao Martins
2016-08-30 12:45 ` Jan Beulich
2016-08-30 14:14 ` Joao Martins
2016-08-24 12:43 ` [PATCH v3 6/6] docs: update clocksource option Joao Martins
2016-08-25 10:38 ` Jan Beulich
2016-08-26 15:13 ` Joao Martins
2016-08-24 12:50 ` Joao Martins [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=57BD97F9.8020705@oracle.com \
--to=joao.m.martins@oracle.com \
--cc=JBeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.