[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] 4G address space remapping on 64-bit host
From: |
Paul Brook |
Subject: |
Re: [Qemu-devel] 4G address space remapping on 64-bit host |
Date: |
Fri, 29 Jun 2007 14:00:40 +0100 |
User-agent: |
KMail/1.9.7 |
> I had an idea of mapping the full 32-bit target virtual address space
> to a 4GB area on 64-bit hosts. Then the loads and stores to normal RAM
> (except page tables, code_mem_write etc) could be made much faster,
> falling back to softmmu for other pages. The idea has come up before,
> for example in this Fabrice's message:
> http://article.gmane.org/gmane.comp.emulators.qemu/685
>
> But I'm not sure if this would be worth the effort, the speedup would
> depend on the frequency of the loads/stores and also translation time
> vs. translated code execution times. Does anyone have good statistics
> on those?
I'd expect the overhead of SIGSEGV+mmap to be prohibitive. I don't have
numbers to back this up, but experience with MIPS system emulation shows that
TLB miss cost can have significant effect on overall performance.
Like Fabrice, I think this would be most useful in combination with some sort
of hypervisor. Somewhere on my TODO list is porting qemu to run directly as
a paravirtual Xen DomU. This means you can insert the guest pagetable walk
directly into the host mmu fault handler, and do clever things with shadow
pagetables.
I should probably get the cycle counting patches polished and applied. These
include a mechanism for distinguishing RAM and MMIO accesses.
Paul