All of lore.kernel.org
 help / color / mirror / Atom feed
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 v3 13/13] docs: Add descriptions of TSC scaling in xl.cfg and tscmode.txt
Date: Thu, 31 Dec 2015 11:03:40 +0800	[thread overview]
Message-ID: <1451531020-29964-14-git-send-email-haozhong.zhang@intel.com> (raw)
In-Reply-To: <1451531020-29964-1-git-send-email-haozhong.zhang@intel.com>

Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
---
Changes in v3:
 (addressing Kevin Tian's comments)
 * Reorganize words to address Kevin's comments.

 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.4.8

      parent reply	other threads:[~2015-12-31  3:03 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-31  3:03 [PATCH v3 00/13] Add VMX TSC scaling support Haozhong Zhang
2015-12-31  3:03 ` [PATCH v3 01/13] x86/time.c: Use correct guest TSC frequency in tsc_set_info() Haozhong Zhang
2016-01-04 17:44   ` Boris Ostrovsky
2015-12-31  3:03 ` [PATCH v3 02/13] x86/time.c: Use correct guest TSC frequency in tsc_get_info() Haozhong Zhang
2016-01-04 17:48   ` Boris Ostrovsky
2016-01-05  0:32     ` Haozhong Zhang
2016-01-08  9:05     ` Jan Beulich
2016-01-08  9:12       ` Haozhong Zhang
2015-12-31  3:03 ` [PATCH v3 03/13] x86/hvm: Scale host TSC when setting/getting guest TSC Haozhong Zhang
2016-01-08  9:15   ` Jan Beulich
2016-01-08 14:04     ` Haozhong Zhang
2015-12-31  3:03 ` [PATCH v3 04/13] x86/time.c: Scale host TSC in pvclock properly Haozhong Zhang
2016-01-04 18:09   ` Boris Ostrovsky
2016-01-05  0:59     ` Haozhong Zhang
2016-01-05 16:15       ` Boris Ostrovsky
2016-01-06  0:56         ` Haozhong Zhang
2016-01-08  9:20   ` Jan Beulich
2016-01-08 13:22     ` Haozhong Zhang
2016-01-08 13:43       ` Jan Beulich
2016-01-08 13:50         ` Haozhong Zhang
2015-12-31  3:03 ` [PATCH v3 05/13] svm: Remove redundant TSC scaling in svm_set_tsc_offset() Haozhong Zhang
2016-01-08  9:22   ` Jan Beulich
2016-01-08 13:24     ` Haozhong Zhang
2015-12-31  3:03 ` [PATCH v3 06/13] x86/hvm: Collect information of TSC scaling ratio Haozhong Zhang
2015-12-31  3:03 ` [PATCH v3 07/13] x86: Add functions for 64-bit integer arithmetic Haozhong Zhang
2016-01-04 18:26   ` Boris Ostrovsky
2016-01-05  1:15     ` Haozhong Zhang
2016-01-05 16:21       ` Boris Ostrovsky
2016-01-08  9:34   ` Jan Beulich
2016-01-08 13:48     ` Haozhong Zhang
2015-12-31  3:03 ` [PATCH v3 08/13] x86/hvm: Setup TSC scaling ratio Haozhong Zhang
2016-01-04 18:40   ` Boris Ostrovsky
2016-01-05  1:20     ` Haozhong Zhang
2016-01-08  9:44   ` Jan Beulich
2016-01-08 13:55     ` Haozhong Zhang
2016-01-08 14:04       ` Jan Beulich
2016-01-08 14:10         ` Haozhong Zhang
2015-12-31  3:03 ` [PATCH v3 09/13] x86/hvm: Replace architecture TSC scaling by a common function Haozhong Zhang
2016-01-04 18:42   ` Boris Ostrovsky
2016-01-12 16:44   ` Jan Beulich
2015-12-31  3:03 ` [PATCH v3 10/13] x86/hvm: Move saving/loading vcpu's TSC to common code Haozhong Zhang
2015-12-31  3:03 ` [PATCH v3 11/13] x86/hvm: Detect TSC scaling through hvm_funcs Haozhong Zhang
2015-12-31  3:03 ` [PATCH v3 12/13] vmx: Add VMX RDTSC(P) scaling support Haozhong Zhang
2016-01-12 16:48   ` Jan Beulich
2016-01-14  4:52     ` Haozhong Zhang
2016-01-14  9:05       ` Jan Beulich
2016-01-14  9:47         ` Haozhong Zhang
2015-12-31  3:03 ` Haozhong Zhang [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=1451531020-29964-14-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 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.