From: Haozhong Zhang <haozhong.zhang@intel.com>
To: xen-devel@lists.xen.org, Jan Beulich <jbeulich@suse.com>,
Boris Ostrovsky <boris.ostrovsky@oracle.com>,
Kevin Tian <kevin.tian@intel.com>
Cc: Haozhong Zhang <haozhong.zhang@intel.com>,
Keir Fraser <keir@xen.org>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>,
Jun Nakajima <jun.nakajima@intel.com>
Subject: [PATCH v4 10/10] docs: Add descriptions of TSC scaling in xl.cfg and tscmode.txt
Date: Mon, 18 Jan 2016 05:58:59 +0800 [thread overview]
Message-ID: <1453067939-9121-11-git-send-email-haozhong.zhang@intel.com> (raw)
In-Reply-To: <1453067939-9121-1-git-send-email-haozhong.zhang@intel.com>
Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
---
docs/man/xl.cfg.pod.5 | 14 +++++++++++++-
docs/misc/tscmode.txt | 21 +++++++++++++++++++++
2 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
index 8899f75..47aea0a 100644
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -1313,9 +1313,17 @@ deprecated. Options are:
=item B<"default">
-Guest rdtsc/p executed natively when monotonicity can be guaranteed
+Guest rdtsc/p is executed natively when monotonicity can be guaranteed
and emulated otherwise (with frequency scaled if necessary).
+If a HVM container in B<default> TSC mode is created on a host that
+provides constant host TSC, its guest TSC frequency will be the same
+as the host. If it is later migrated to another host that provide
+constant host TSC and supports Intel VMX TSC scaling/AMD SVM TSC
+ratio, its guest TSC frequency will be the same before and after
+migration, and guest rdtsc/p will be executed natively as well after
+migration.
+
=item B<"always_emulate">
Guest rdtsc/p always emulated at 1GHz (kernel and user). Guest rdtsc/p
@@ -1337,6 +1345,10 @@ determine when a restore/migration has occurred and assumes guest
obtains/uses pvclock-like mechanism to adjust for monotonicity and
frequency changes.
+If a HVM container in B<native_paravirt> TSC mode can execute both guest
+rdtsc and guest rdtscp natively, then the guest TSC frequency will be
+determined in the similar way to that of B<default> TSC mode.
+
=back
Please see F<docs/misc/tscmode.txt> for more information on this option.
diff --git a/docs/misc/tscmode.txt b/docs/misc/tscmode.txt
index e8c84e8..01ee060 100644
--- a/docs/misc/tscmode.txt
+++ b/docs/misc/tscmode.txt
@@ -297,3 +297,24 @@ and also much faster than nearly all OS-provided time mechanisms.
While pvrtscp is too complex for most apps, certain enterprise
TSC-sensitive high-TSC-frequency apps may find it useful to
obtain a significant performance gain.
+
+Hardware TSC Scaling
+
+Intel VMX TSC scaling and AMD SVM TSC ratio allow the guest TSC read
+by guest rdtsc/p increasing in a different frequency than the host
+TSC frequency.
+
+If a HVM container in default TSC mode (tsc_mode=0) or PVRDTSCP mode
+(tsc_mode=3) is created on a host that provides constant TSC, its
+guest TSC frequency will be the same as the host. If it is later
+migrated to another host that provides constant TSC and supports Intel
+VMX TSC scaling/AMD SVM TSC ratio, its guest TSC frequency will be the
+same before and after migration.
+
+For above HVM container in default TSC mode (tsc_mode=0), if above
+hosts support rdtscp, both guest rdtsc and rdtscp instructions will be
+executed natively before and after migration.
+
+For above HVM container in PVRDTSCP mode (tsc_mode=3), if the
+destination host does not support rdtscp, the guest rdtscp instruction
+will be emulated with the guest TSC frequency.
--
2.7.0
next prev parent reply other threads:[~2016-01-17 21:58 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-17 21:58 [PATCH v4 00/10] Add VMX TSC scaling support Haozhong Zhang
2016-01-17 21:58 ` [PATCH v4 01/10] x86/hvm: Scale host TSC when setting/getting guest TSC Haozhong Zhang
2016-01-18 13:39 ` Jan Beulich
2016-01-19 0:17 ` Haozhong Zhang
2016-01-19 14:27 ` Boris Ostrovsky
2016-01-17 21:58 ` [PATCH v4 02/10] x86/time.c: Scale host TSC in pvclock properly Haozhong Zhang
2016-01-18 13:42 ` Jan Beulich
2016-01-19 0:29 ` Haozhong Zhang
2016-01-17 21:58 ` [PATCH v4 03/10] svm: Remove redundant TSC scaling in svm_set_tsc_offset() Haozhong Zhang
2016-01-17 21:58 ` [PATCH v4 04/10] x86/hvm: Collect information of TSC scaling ratio Haozhong Zhang
2016-01-18 10:45 ` Egger, Christoph
2016-01-19 3:19 ` Haozhong Zhang
2016-02-05 11:41 ` Jan Beulich
2016-02-16 7:59 ` Zhang, Haozhong
2016-01-17 21:58 ` [PATCH v4 05/10] x86: Add functions for 64-bit integer arithmetic Haozhong Zhang
2016-02-05 13:36 ` Jan Beulich
2016-02-16 9:02 ` Zhang, Haozhong
2016-02-16 9:39 ` Jan Beulich
2016-02-16 9:57 ` Haozhong Zhang
2016-01-17 21:58 ` [PATCH v4 06/10] x86/hvm: Setup TSC scaling ratio Haozhong Zhang
2016-02-05 13:54 ` Jan Beulich
2016-02-16 9:44 ` Zhang, Haozhong
2016-02-16 10:12 ` Jan Beulich
2016-01-17 21:58 ` [PATCH v4 07/10] x86/hvm: Replace architecture TSC scaling by a common function Haozhong Zhang
2016-01-17 21:58 ` [PATCH v4 08/10] x86/hvm: Move saving/loading vcpu's TSC to common code Haozhong Zhang
2016-01-17 21:58 ` [PATCH v4 09/10] vmx: Add VMX RDTSC(P) scaling support Haozhong Zhang
2016-01-19 2:55 ` [RESEND PATCH " Haozhong Zhang
2016-02-05 14:06 ` Jan Beulich
2016-02-16 7:59 ` Zhang, Haozhong
2016-01-17 21:58 ` Haozhong Zhang [this message]
2016-02-01 5:50 ` [PATCH v4 00/10] Add VMX TSC " Haozhong Zhang
2016-02-01 7:54 ` Jan Beulich
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=1453067939-9121-11-git-send-email-haozhong.zhang@intel.com \
--to=haozhong.zhang@intel.com \
--cc=Aravind.Gopalakrishnan@amd.com \
--cc=andrew.cooper3@citrix.com \
--cc=boris.ostrovsky@oracle.com \
--cc=jbeulich@suse.com \
--cc=jun.nakajima@intel.com \
--cc=keir@xen.org \
--cc=kevin.tian@intel.com \
--cc=suravee.suthikulpanit@amd.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).