From: Avi Kivity <avi-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Alexander Graf <agraf-l3A5Bk7waGM@public.gmane.org>
Cc: "kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH 00/18] KVM: PPC: Virtualize Gekko guests
Date: Thu, 18 Feb 2010 09:40:47 +0200 [thread overview]
Message-ID: <4B7CEEFF.9000801@redhat.com> (raw)
In-Reply-To: <D3C1F39A-E9C8-46B8-9C4A-12E56D34B5AC-l3A5Bk7waGM@public.gmane.org>
On 02/17/2010 08:07 PM, Alexander Graf wrote:
> On 17.02.2010, at 17:34, Avi Kivity wrote:
>
>
>> On 02/17/2010 06:23 PM, Alexander Graf wrote:
>>
>>> On 17.02.2010, at 17:03, Avi Kivity wrote:
>>>
>>>
>>>
>>>> On 02/17/2010 04:56 PM, Alexander Graf wrote:
>>>>
>>>>
>>>>> So I changed to code according to your input by making all FPU calls explicit, getting rid of all binary patching.
>>>>>
>>>>> On the PowerStation again I'm running this code (simplified to the important instructions) using kvmctl:
>>>>>
>>>>> li r2, 0x1234
>>>>> std r2, 0(r1)
>>>>> lfd f3, 0(r1)
>>>>> lfd f4, 0(r1)
>>>>> do_mul:
>>>>> fmul f0, f3, f4
>>>>> b do_mul
>>>>>
>>>>>
>>>>> With the following kvm_stat output:
>>>>>
>>>>> dec 2236 53
>>>>> exits 60797802 1171403
>>>>> ext_intr 379 4
>>>>> halt_wakeup 0 0
>>>>> inst_emu 60795247 1171344
>>>>> ld 60795132 1171348
>>>>>
>>>>> So I'm getting 1171403 fmul operations per second. And that's even with non-optimized instruction fetching. Not bad.
>>>>>
>>>>>
>>>>>
>>>> It's a large number, but won't real hardware be three orders of magnitude faster?
>>>>
>>>>
>>> Yes, it would. But we don't have to care. The only thing we need to worry about is being fast enough to emulate enough FPU instructions actually used in normal guests so the guest runs in full speed. And 1000k> 250k, so we can do that apparently, leaving some spare cycles for non-fpu instructions.
>>>
>>>
>> I'm sure 250k isn't representative of a floating point intensive program (but maybe there aren't fpu intensive applications on that cpu).
>>
> Now you made me check how fast the real hw is. I get about 65,000,000 fmul operations per second on it.
>
>
That's surprisingly low.
> So we're 65x slower on a PowerStation. And that's for a tight FPU only loop. I'm still not convinced we're running into major problems.
>
Well, it's up to you. I just hope we don't end up underperforming due
to this.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
next prev parent reply other threads:[~2010-02-18 7:40 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-04 15:55 [PATCH 00/18] KVM: PPC: Virtualize Gekko guests Alexander Graf
2010-02-04 15:55 ` [PATCH 01/18] KVM: PPC: Add QPR registers Alexander Graf
[not found] ` <1265298925-31954-1-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-02-04 15:55 ` [PATCH 02/18] KVM: PPC: Enable MMIO to do 64 bits, fprs and qprs Alexander Graf
[not found] ` <1265298925-31954-3-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-02-07 12:29 ` Avi Kivity
[not found] ` <4B6EB229.8090502-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-07 15:51 ` Alexander Graf
2010-02-04 15:55 ` [PATCH 03/18] KVM: PPC: Teach MMIO Signedness Alexander Graf
[not found] ` <1265298925-31954-4-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-02-07 12:32 ` Avi Kivity
[not found] ` <4B6EB2D7.1030500-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-07 15:51 ` Alexander Graf
[not found] ` <3CEF000F-1751-4E65-A08A-C71B2CE8DAEE-l3A5Bk7waGM@public.gmane.org>
2010-02-07 16:15 ` Avi Kivity
2010-02-07 16:27 ` Anthony Liguori
2010-02-07 21:35 ` Alexander Graf
[not found] ` <1CA08386-21CA-4B4F-A1E6-56C4DE584BA6-l3A5Bk7waGM@public.gmane.org>
2010-02-07 22:13 ` Anthony Liguori
2010-02-04 15:55 ` [PATCH 04/18] KVM: PPC: Add AGAIN type for emulation return Alexander Graf
2010-02-04 15:55 ` [PATCH 05/18] KVM: PPC: Add hidden flag for paired singles Alexander Graf
2010-02-04 15:55 ` [PATCH 06/18] KVM: PPC: Add Gekko SPRs Alexander Graf
2010-02-04 15:55 ` [PATCH 12/18] KVM: PPC: Make ext giveup non-static Alexander Graf
2010-02-04 15:55 ` [PATCH 14/18] KVM: PPC: Fix error in BAT assignment Alexander Graf
2010-02-04 15:55 ` [PATCH 15/18] KVM: PPC: Add helpers to modify ppc fields Alexander Graf
2010-02-04 15:55 ` [PATCH 16/18] KVM: PPC: Enable program interrupt to do MMIO Alexander Graf
2010-02-07 12:54 ` [PATCH 00/18] KVM: PPC: Virtualize Gekko guests Avi Kivity
[not found] ` <4B6EB7F6.10304-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-07 15:49 ` Alexander Graf
2010-02-07 16:22 ` Avi Kivity
2010-02-07 22:02 ` Alexander Graf
2010-02-08 8:53 ` Avi Kivity
[not found] ` <4B6FD118.2090207-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-08 10:58 ` Alexander Graf
[not found] ` <87CEECB5-107A-46EB-89F5-1E1F92AC22AA-l3A5Bk7waGM@public.gmane.org>
2010-02-08 11:09 ` Avi Kivity
[not found] ` <4B6FF0E6.6060309-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-08 11:30 ` Alexander Graf
[not found] ` <A5BC5A7E-D45B-4BAF-804A-B364810F50DA-l3A5Bk7waGM@public.gmane.org>
2010-02-08 12:03 ` Avi Kivity
[not found] ` <4B6FFD85.6090100-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-08 12:05 ` Alexander Graf
[not found] ` <939C8633-1B2C-4888-B1C1-357DF1C56CE6-l3A5Bk7waGM@public.gmane.org>
2010-02-08 12:15 ` Avi Kivity
2010-02-08 12:31 ` Alexander Graf
2010-02-09 11:00 ` Alexander Graf
[not found] ` <4B714049.7010201-l3A5Bk7waGM@public.gmane.org>
2010-02-09 11:06 ` Avi Kivity
2010-02-09 11:13 ` Alexander Graf
[not found] ` <4B71435E.7010103-l3A5Bk7waGM@public.gmane.org>
2010-02-09 12:27 ` Avi Kivity
[not found] ` <4B7154A6.6050809-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-17 14:56 ` Alexander Graf
[not found] ` <80F0B53A-6F83-4166-8F85-5D9B07526158-l3A5Bk7waGM@public.gmane.org>
2010-02-17 16:03 ` Avi Kivity
[not found] ` <4B7C134C.9040009-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-17 16:23 ` Alexander Graf
2010-02-17 16:34 ` Avi Kivity
[not found] ` <4B7C1A91.8060205-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-17 18:07 ` Alexander Graf
[not found] ` <D3C1F39A-E9C8-46B8-9C4A-12E56D34B5AC-l3A5Bk7waGM@public.gmane.org>
2010-02-18 7:40 ` Avi Kivity [this message]
[not found] ` <4B7CEEFF.9000801-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-18 8:04 ` Avi Kivity
2010-02-04 15:55 ` [PATCH 07/18] KVM: PPC: Combine extension interrupt handlers Alexander Graf
2010-02-04 15:55 ` [PATCH 08/18] KVM: PPC: Preload FPU when possible Alexander Graf
2010-02-04 15:55 ` [PATCH 09/18] KVM: PPC: Fix typo in book3s_32 debug code Alexander Graf
2010-02-04 15:55 ` [PATCH 10/18] KVM: PPC: Implement mtsr instruction emulation Alexander Graf
2010-02-04 15:55 ` [PATCH 11/18] KVM: PPC: Make software load/store return eaddr Alexander Graf
2010-02-04 15:55 ` [PATCH 13/18] KVM: PPC: Add helpers to call FPU instructions Alexander Graf
2010-02-04 15:55 ` [PATCH 17/18] KVM: PPC: Reserve a chunk of memory for opcodes Alexander Graf
2010-02-04 15:55 ` [PATCH 18/18] KVM: PPC: Implement Paired Single emulation Alexander Graf
[not found] ` <1265298925-31954-19-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-02-07 12:50 ` Avi Kivity
2010-02-07 15:57 ` Alexander Graf
2010-02-07 16:18 ` 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=4B7CEEFF.9000801@redhat.com \
--to=avi-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=agraf-l3A5Bk7waGM@public.gmane.org \
--cc=kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.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