From: "David S. Ahern" <daahern@cisco.com>
To: Gregory Haskins <ghaskins@novell.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
Avi Kivity <avi@redhat.com>, Chris Wright <chrisw@sous-sol.org>,
Gregory Haskins <gregory.haskins@gmail.com>,
kvm@vger.kernel.org, Anthony Liguori <anthony@codemonkey.ws>
Subject: Re: [RFC PATCH 0/3] generic hypercall support
Date: Fri, 08 May 2009 17:23:17 -0600 [thread overview]
Message-ID: <4A04BEE5.2080600@cisco.com> (raw)
In-Reply-To: <4A048F93.1050601@novell.com>
Gregory Haskins wrote:
> David S. Ahern wrote:
>> Marcelo Tosatti wrote:
>>
>>> On Fri, May 08, 2009 at 10:45:52AM -0400, Gregory Haskins wrote:
>>>
>>>> Marcelo Tosatti wrote:
>>>>
>>>>> On Fri, May 08, 2009 at 10:55:37AM +0300, Avi Kivity wrote:
>>>>>
>>>>>
>>>>>> Marcelo Tosatti wrote:
>>>>>>
>>>>>>
>>>>>>> Also it would be interesting to see the MMIO comparison with EPT/NPT,
>>>>>>> it probably sucks much less than what you're seeing.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> Why would NPT improve mmio? If anything, it would be worse, since the
>>>>>> processor has to do the nested walk.
>>>>>>
>>>>>> Of course, these are newer machines, so the absolute results as well as
>>>>>> the difference will be smaller.
>>>>>>
>>>>>>
>>>>> Quad-Core AMD Opteron(tm) Processor 2358 SE 2.4GHz:
>>>>>
>>>>> NPT enabled:
>>>>> test 0: 3088633284634 - 3059375712321 = 29257572313
>>>>> test 1: 3121754636397 - 3088633419760 = 33121216637
>>>>> test 2: 3204666462763 - 3121754668573 = 82911794190
>>>>>
>>>>> NPT disabled:
>>>>> test 0: 3638061646250 - 3609416811687 = 28644834563
>>>>> test 1: 3669413430258 - 3638061771291 = 31351658967
>>>>> test 2: 3736287253287 - 3669413463506 = 66873789781
>>>>>
>>>>>
>>>>>
>>>> Thanks for running that. Its interesting to see that NPT was in fact
>>>> worse as Avi predicted.
>>>>
>>>> Would you mind if I graphed the result and added this data to my wiki?
>>>> If so, could you adjust the tsc result into IOPs using the proper
>>>> time-base and the test_count you ran with? I can show a graph with the
>>>> data as is and the relative differences will properly surface..but it
>>>> would be nice to have apples to apples in terms of IOPS units with my
>>>> other run.
>>>>
>>>> -Greg
>>>>
>>> Please, that'll be nice.
>>>
>>> Quad-Core AMD Opteron(tm) Processor 2358 SE
>>>
>>> host: 2.6.30-rc2
>>> guest: 2.6.29.1-102.fc11.x86_64
>>>
>>> test_count=1000000, tsc freq=2402882804 Hz
>>>
>>> NPT disabled:
>>>
>>> test 0 = 2771200766
>>> test 1 = 3018726738
>>> test 2 = 6414705418
>>> test 3 = 2890332864
>>>
>>> NPT enabled:
>>>
>>> test 0 = 2908604045
>>> test 1 = 3174687394
>>> test 2 = 7912464804
>>> test 3 = 3046085805
>>>
>>>
>> DL380 G6, 1-E5540, 6 GB RAM, SMT enabled:
>> host: 2.6.30-rc3
>> guest: fedora 9, 2.6.27.21-78.2.41.fc9.x86_64
>>
>> with EPT
>> test 0: 543617607291 - 518146439877 = 25471167414
>> test 1: 572568176856 - 543617703004 = 28950473852
>> test 2: 630182158139 - 572568269792 = 57613888347
>>
>>
>> without EPT
>> test 0: 1383532195307 - 1358052032086 = 25480163221
>> test 1: 1411587055210 - 1383532318617 = 28054736593
>> test 2: 1471446356172 - 1411587194600 = 59859161572
>>
>>
>>
>
> Thank you kindly, David.
>
> -Greg
I ran another test case with SMT disabled, and while I was at it
converted TSC delta to operations/sec. The results without SMT are
confusing -- to me anyways. I'm hoping someone can explain it.
Basically, using a count of 10,000,000 (per your web page) with SMT
disabled the guest detected a soft lockup on the CPU. So, I dropped the
count down to 1,000,000. So, for 1e6 iterations:
without SMT, with EPT:
HC: 259,455 ops/sec
PIO: 226,937 ops/sec
MMIO: 113,180 ops/sec
without SMT, without EPT:
HC: 274,825 ops/sec
PIO: 247,910 ops/sec
MMIO: 111,535 ops/sec
Converting the prior TSC deltas:
with SMT, with EPT:
HC: 994,655 ops/sec
PIO: 875,116 ops/sec
MMIO: 439,738 ops/sec
with SMT, without EPT:
HC: 994,304 ops/sec
PIO: 903,057 ops/sec
MMIO: 423,244 ops/sec
Running the tests repeatedly I did notice a fair variability (as much as
-10% down from these numbers).
Also, just to make sure I converted the delta to ops/sec, the formula I
used was cpu_freq / dTSC * count = operations/sec
david
next prev parent reply other threads:[~2009-05-08 23:23 UTC|newest]
Thread overview: 115+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-05 13:24 [RFC PATCH 0/3] generic hypercall support Gregory Haskins
2009-05-05 13:24 ` [RFC PATCH 1/3] add " Gregory Haskins
2009-05-05 17:03 ` Hollis Blanchard
2009-05-06 13:52 ` Anthony Liguori
2009-05-06 15:16 ` Gregory Haskins
2009-05-06 16:52 ` Arnd Bergmann
2009-05-05 13:24 ` [RFC PATCH 2/3] x86: " Gregory Haskins
2009-05-05 13:24 ` [RFC PATCH 3/3] kvm: add pv_cpu_ops.hypercall support to the guest Gregory Haskins
2009-05-05 13:36 ` [RFC PATCH 0/3] generic hypercall support Avi Kivity
2009-05-05 13:40 ` Gregory Haskins
2009-05-05 14:00 ` Avi Kivity
2009-05-05 14:14 ` Gregory Haskins
2009-05-05 14:21 ` Gregory Haskins
2009-05-05 15:02 ` Avi Kivity
2009-05-05 23:17 ` Chris Wright
2009-05-06 3:51 ` Gregory Haskins
2009-05-06 7:22 ` Chris Wright
2009-05-06 13:17 ` Gregory Haskins
2009-05-06 16:07 ` Chris Wright
2009-05-07 17:03 ` Gregory Haskins
2009-05-07 18:05 ` Avi Kivity
2009-05-07 18:08 ` Gregory Haskins
2009-05-07 18:12 ` Avi Kivity
2009-05-07 18:16 ` Gregory Haskins
2009-05-07 18:24 ` Avi Kivity
2009-05-07 18:37 ` Gregory Haskins
2009-05-07 19:00 ` Avi Kivity
2009-05-07 19:05 ` Gregory Haskins
2009-05-07 19:43 ` Avi Kivity
2009-05-07 20:07 ` Gregory Haskins
2009-05-07 20:15 ` Avi Kivity
2009-05-07 20:26 ` Gregory Haskins
2009-05-08 8:35 ` Avi Kivity
2009-05-08 11:29 ` Gregory Haskins
2009-05-07 19:07 ` Chris Wright
2009-05-07 19:12 ` Gregory Haskins
2009-05-07 19:21 ` Chris Wright
2009-05-07 19:26 ` Avi Kivity
2009-05-07 19:44 ` Avi Kivity
2009-05-07 19:29 ` Gregory Haskins
2009-05-07 20:25 ` Chris Wright
2009-05-07 20:34 ` Gregory Haskins
2009-05-07 20:54 ` Arnd Bergmann
2009-05-07 21:13 ` Gregory Haskins
2009-05-07 21:57 ` Chris Wright
2009-05-07 22:11 ` Arnd Bergmann
2009-05-08 22:33 ` Benjamin Herrenschmidt
2009-05-11 13:01 ` Arnd Bergmann
2009-05-11 13:04 ` Gregory Haskins
2009-05-07 20:00 ` Arnd Bergmann
2009-05-07 20:31 ` Gregory Haskins
2009-05-07 20:42 ` Arnd Bergmann
2009-05-07 20:47 ` Arnd Bergmann
2009-05-07 20:50 ` Chris Wright
2009-05-07 23:35 ` Marcelo Tosatti
2009-05-07 23:43 ` Marcelo Tosatti
2009-05-08 3:17 ` Gregory Haskins
2009-05-08 7:55 ` Avi Kivity
[not found] ` <20090508103253.GC3011@amt.cnet>
2009-05-08 11:37 ` Avi Kivity
2009-05-08 14:35 ` Marcelo Tosatti
2009-05-08 14:45 ` Gregory Haskins
2009-05-08 15:51 ` Marcelo Tosatti
2009-05-08 19:56 ` David S. Ahern
2009-05-08 20:01 ` Gregory Haskins
2009-05-08 23:23 ` David S. Ahern [this message]
2009-05-09 8:45 ` Avi Kivity
2009-05-09 11:27 ` Gregory Haskins
2009-05-10 4:27 ` David S. Ahern
2009-05-10 5:24 ` Avi Kivity
2009-05-10 4:24 ` David S. Ahern
2009-05-08 3:13 ` Gregory Haskins
2009-05-08 7:59 ` Avi Kivity
2009-05-08 11:09 ` Gregory Haskins
[not found] ` <20090508104228.GD3011@amt.cnet>
2009-05-08 12:43 ` Gregory Haskins
2009-05-08 15:33 ` Marcelo Tosatti
2009-05-08 19:02 ` Avi Kivity
2009-05-08 16:48 ` Paul E. McKenney
2009-05-08 19:55 ` Gregory Haskins
2009-05-08 14:15 ` Gregory Haskins
2009-05-08 14:53 ` Anthony Liguori
2009-05-08 18:50 ` Avi Kivity
2009-05-08 19:02 ` Anthony Liguori
2009-05-08 19:06 ` Avi Kivity
2009-05-11 16:37 ` Jeremy Fitzhardinge
2009-05-07 12:29 ` Avi Kivity
2009-05-08 14:59 ` Anthony Liguori
2009-05-09 12:01 ` Gregory Haskins
2009-05-10 18:38 ` Anthony Liguori
2009-05-11 13:14 ` Gregory Haskins
2009-05-11 16:35 ` Hollis Blanchard
2009-05-11 17:06 ` Avi Kivity
2009-05-11 17:29 ` Gregory Haskins
2009-05-11 17:53 ` Avi Kivity
2009-05-11 17:51 ` Anthony Liguori
2009-05-11 18:02 ` Avi Kivity
2009-05-11 18:18 ` Anthony Liguori
2009-05-11 17:31 ` Anthony Liguori
2009-05-13 10:53 ` Gregory Haskins
2009-05-13 14:45 ` Gregory Haskins
2009-05-11 16:44 ` Hollis Blanchard
2009-05-11 17:54 ` Anthony Liguori
2009-05-11 19:24 ` PowerPC page faults Hollis Blanchard
2009-05-11 22:17 ` Anthony Liguori
2009-05-12 5:46 ` Liu Yu-B13201
2009-05-12 14:50 ` Hollis Blanchard
2009-05-06 13:56 ` [RFC PATCH 0/3] generic hypercall support Anthony Liguori
2009-05-06 16:03 ` Gregory Haskins
2009-05-08 8:17 ` Avi Kivity
2009-05-08 15:20 ` Gregory Haskins
2009-05-08 17:00 ` Avi Kivity
2009-05-08 18:55 ` Gregory Haskins
2009-05-08 19:05 ` Anthony Liguori
2009-05-08 19:12 ` Avi Kivity
2009-05-08 19:59 ` Gregory Haskins
2009-05-10 9:59 ` Avi Kivity
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=4A04BEE5.2080600@cisco.com \
--to=daahern@cisco.com \
--cc=anthony@codemonkey.ws \
--cc=avi@redhat.com \
--cc=chrisw@sous-sol.org \
--cc=ghaskins@novell.com \
--cc=gregory.haskins@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@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.