All of lore.kernel.org
 help / color / mirror / Atom feed
From: Haozhong Zhang <haozhong.zhang@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Kevin Tian <kevin.tian@intel.com>, Keir Fraser <keir@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xen.org,
	Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>,
	Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [PATCH v3 02/13] x86/time.c: Use correct guest TSC frequency in tsc_get_info()
Date: Fri, 8 Jan 2016 17:12:25 +0800	[thread overview]
Message-ID: <20160108091224.GD3828@hz-desktop.sh.intel.com> (raw)
In-Reply-To: <568F89D902000078000C4B3E@prv-mh.provo.novell.com>

On 01/08/16 02:05, Jan Beulich wrote:
> >>> On 04.01.16 at 18:48, <boris.ostrovsky@oracle.com> wrote:
> > On 12/30/2015 10:03 PM, Haozhong Zhang wrote:
> >> When the TSC mode of a HVM container is TSC_MODE_DEFAULT or
> >> TSC_MODE_PVRDTSCP and no TSC emulation is used, the existing
> >> tsc_get_info() uses the host TSC frequency (cpu_khz) as the guest TSC
> >> frequency. However, tsc_set_info() may set the guest TSC frequency to a
> >> value different than the host. In order to keep consistent to
> >> tsc_set_info(), this patch makes tsc_get_info() use the value set by
> >> tsc_set_info() as the guest TSC frequency.
> >>
> >> Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
> >> ---
> >> Changes in v3:
> >>   (addressing Boris Ostrovsky's comments)
> >>   * Use this_cpu(cpu_time).tsc_scale for both scaling and non-scaling cases.
> >>
> >>   xen/arch/x86/time.c | 9 ++++++---
> >>   1 file changed, 6 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
> >> index 0059b6a..d83f068 100644
> >> --- a/xen/arch/x86/time.c
> >> +++ b/xen/arch/x86/time.c
> >> @@ -1749,6 +1749,9 @@ void tsc_get_info(struct domain *d, uint32_t *tsc_mode,
> >>                     uint64_t *elapsed_nsec, uint32_t *gtsc_khz,
> >>                     uint32_t *incarnation)
> >>   {
> >> +    bool_t enable_tsc_scaling = has_hvm_container_domain(d) &&
> >> +                                cpu_has_tsc_ratio;
> >> +
> > 
> > Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> > 
> > although I still think that having !d->arch.vtsc would be better, even 
> > if not strictly required.
> 
> Since Haozhong agreed, and for symmetry with patch 1 I'm going to
> commit with this added, plus ...
> 
> >> @@ -1780,9 +1783,9 @@ void tsc_get_info(struct domain *d, uint32_t *tsc_mode,
> >>           else
> >>           {
> >>               tsc = rdtsc();
> >> -            *elapsed_nsec = scale_delta(tsc, &d->arch.vtsc_to_ns) -
> >> +            *elapsed_nsec = scale_delta(tsc, &this_cpu(cpu_time).tsc_scale) -
> >>                               d->arch.vtsc_offset;
> >> -            *gtsc_khz = 0; /* ignored by tsc_set_info */
> >> +            *gtsc_khz = enable_tsc_scaling ? d->arch.tsc_khz : 0;
> 
> ... with the comment here retained.
>
And it's better to refine the comment like
/* ignored by tsc_set_info if TSC scaling disabled */

Haozhong

  reply	other threads:[~2016-01-08  9:12 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 [this message]
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 ` [PATCH v3 13/13] docs: Add descriptions of TSC scaling in xl.cfg and tscmode.txt Haozhong Zhang

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=20160108091224.GD3828@hz-desktop.sh.intel.com \
    --to=haozhong.zhang@intel.com \
    --cc=Aravind.Gopalakrishnan@amd.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=boris.ostrovsky@oracle.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.