From: Gleb Natapov <gleb@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org
Subject: Re: [PATCH kvm-unit-tests] pmu: fixes for Sandy Bridge hosts
Date: Mon, 3 Jun 2013 10:38:50 +0300 [thread overview]
Message-ID: <20130603073850.GX4725@redhat.com> (raw)
In-Reply-To: <51AC40FE.5020005@redhat.com>
On Mon, Jun 03, 2013 at 09:08:46AM +0200, Paolo Bonzini wrote:
> Il 03/06/2013 08:38, Gleb Natapov ha scritto:
> > On Mon, Jun 03, 2013 at 08:33:13AM +0200, Paolo Bonzini wrote:
> >> Il 02/06/2013 17:32, Gleb Natapov ha scritto:
> >>> On Thu, May 30, 2013 at 07:43:07PM +0200, Paolo Bonzini wrote:
> >>>> This patch includes two fixes for SB:
> >>>>
> >>>> * the 3rd fixed counter ("ref cpu cycles") can sometimes report
> >>>> less than the number of iterations
> >>>>
> >>> Is it documented? It is strange for "architectural" counter to behave
> >>> differently on different architectures.
> >>
> >> It just counts the CPU cycles. If the CPU can optimize the loop better,
> >> it will take less CPU cycles to execute it.
> >>
> > We should try and change the loop so that it will not be so easily optimized.
> > Making the test succeed if only 10% percent of cycles were spend on a loop
> > may result in the test missing the case when counter counts something
> > different.
>
> Any hard-to-optimize loop risks becoming wrong on the other side (e.g.
> if something stalls the pipeline, a newer chip with longer pipeline will
> use more CPU cycles).
>
> Turbo boost could also contribute to lowering the number of cycles; a
> boosted processor has ref cpu cycles that are _longer_ than the regular
> cycles (thus they count in smaller numbers). Maybe that's why "core
> cycles" didn't go below N.
>
"core cycles" are subject to Turbo boost changes, not ref cycles. Since
instruction are executed at core frequency ref cpu cycles count may be
indeed smaller.
> The real result was something like 0.8*N (780-830000). I used 0.1*N
> because it is used for the "ref cpu cycles" gp counter, which is not the
> same but similar. Should I change it to 0.5*N or so?
>
For cpus with constant_tsc they should be the same. OK lets make gp and
fixed use the same boundaries.
--
Gleb.
next prev parent reply other threads:[~2013-06-03 7:38 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-30 17:43 [PATCH kvm-unit-tests] pmu: fixes for Sandy Bridge hosts Paolo Bonzini
2013-05-30 17:43 ` [PATCH] " Paolo Bonzini
2013-05-30 17:45 ` Paolo Bonzini
2013-06-02 15:32 ` [PATCH kvm-unit-tests] " Gleb Natapov
2013-06-03 6:33 ` Paolo Bonzini
2013-06-03 6:38 ` Gleb Natapov
2013-06-03 7:08 ` Paolo Bonzini
2013-06-03 7:38 ` Gleb Natapov [this message]
2013-06-03 7:44 ` Paolo Bonzini
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=20130603073850.GX4725@redhat.com \
--to=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
/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.