All of lore.kernel.org
 help / color / mirror / Atom feed
From: Piotras <piotras@gmail.com>
To: Magnus Damm <magnus.damm@gmail.com>, qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH] CONFIG_MMU_MAP powerpc host support
Date: Mon, 20 Dec 2004 22:31:34 +0100	[thread overview]
Message-ID: <da63183704122013313371ce6@mail.gmail.com> (raw)
In-Reply-To: <aec7e5c304122009555c1f820f@mail.gmail.com>

Great!

Do you have an estimate of possible performance gain by introducing 
direct pointer to mmu_map for memory read?

I have two ideas for future experimentation.

There is a trick possible without wasting another register for global 
variable: use two copies of CPUState (one for privileged and another 
for user mode), then make mmu_map.add_read first member of the 
struct. This would introduce guest register coping for user/supervisor 
switch, but maybe performance gain would justify this.

Another idea: if we could align add_read/add_write on 64k boundary, 
"addi" could be removed.


Regards,

Piotrek

On Mon, 20 Dec 2004 18:55:21 +0100, Magnus Damm <magnus.damm@gmail.com> wrote:
> Hello,
> 
> This patch adds powerpc host support to the CONFIG_MMU_MAP patch
> written by Piotrek. My patch should be applied on top of
> v1-part[1-3].patch.gz. I have only tested the code with a x86 guest on
> a ppc host running Linux - someone, please test on a host running OSX.
> 
> Performance gain reported by nbench:
> 
> Memory index: 50%
> Integer index: 44%
> Fp index: 4%
> 
> Right now each map-memory access consists of 5-6 powerpc instructions.
> If a direct pointer to mem_map could be kept in a register then we
> would be down to 3-4 instructions per memoy access...
> 
> / magnus

  reply	other threads:[~2004-12-20 21:44 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-20 17:55 [Qemu-devel] [PATCH] CONFIG_MMU_MAP powerpc host support Magnus Damm
2004-12-20 21:31 ` Piotras [this message]
2004-12-20 22:12   ` [Qemu-devel] " Magnus Damm
2004-12-20 22:56     ` Daniel Serpell
2004-12-20 23:11   ` Fabrice Bellard
2004-12-25  0:04 ` [Qemu-devel] " Laurent Amon
2004-12-25 13:48   ` Norikatsu Shigemura
2004-12-27 16:06     ` Laurent Amon
2004-12-27 21:41       ` Pierre d'Herbemont
2004-12-27 23:43         ` Laurent Amon
2004-12-28  9:15         ` Daniel Egger
2004-12-28  9:55           ` Pierre d'Herbemont
2004-12-28 10:04             ` Daniel Egger
2004-12-28 11:18               ` Pierre d'Herbemont
2004-12-29 11:43                 ` Piotras
2005-01-02 18:26 ` Daniel Egger
2005-01-02 20:18   ` Laurent Amon
2005-01-03 10:31     ` Daniel Egger
2005-01-03 12:08       ` Laurent Amon
2005-01-03 12:57         ` Daniel Egger

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=da63183704122013313371ce6@mail.gmail.com \
    --to=piotras@gmail.com \
    --cc=magnus.damm@gmail.com \
    --cc=qemu-devel@nongnu.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.