From: Paul Brook <paul@codesourcery.com>
To: qemu-devel@nongnu.org
Cc: Blue Swirl <blauwirbel@gmail.com>
Subject: Re: [Qemu-devel] Kernel memory allocation debugging with Qemu
Date: Fri, 8 Feb 2008 18:55:03 +0000 [thread overview]
Message-ID: <200802081855.05779.paul@codesourcery.com> (raw)
In-Reply-To: <f43fc5580802080952t7701b291x9e1fbd1c53adcb90@mail.gmail.com>
> The patch takes a half of the memory and slows down the system. I
> think Qemu could be used instead. A channel (IO/MMIO) is created
> between the memory allocator in target kernel and Qemu running in the
> host. Memory allocator tells the allocated area to Qemu using the
> channel. Qemu changes the physical memory mapping for the area to
> special memory that will report any reads before writes back to
> allocator. Writes change the memory back to standard RAM. The
> performance would be comparable to Qemu in general and host kernel +
> Qemu only take a few MB of the memory. The system would be directly
> usable for other OSes as well.
The qemu implementation isn't actually any more space efficient than the
in-kernel implementation. You still need the same amount of bookkeeping ram.
In both cases it should be possible to reduce the overhead from 1/2 to 1/9 by
using a bitmask rather than whole bytes.
Performance is a less clear. A qemu implementation probably causes less
relative slowdown than an in-kernel implementation. However it's still going
to be significantly slower than normal qemu. Remember that any checked
access is going to have to go through the slow case in the TLB lookup. Any
optimizations that are applicable to one implementation can probably also be
applied to the other.
Given qemu is significantly slower to start with, and depending on the
overhead of taking the page fault, it might not end up much better overall. A
KVM implementation would most likely be slower than the in-kernel.
That said it may be an interesting thing to play with. In practice it's
probably most useful to generate an interrupt and report back to the guest
OS, rather than having qemu reports faults directly.
Paul
next prev parent reply other threads:[~2008-02-08 18:55 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-08 17:52 [Qemu-devel] Kernel memory allocation debugging with Qemu Blue Swirl
2008-02-08 18:55 ` Paul Brook [this message]
2008-02-08 19:13 ` Blue Swirl
2008-02-08 21:47 ` Paul Brook
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=200802081855.05779.paul@codesourcery.com \
--to=paul@codesourcery.com \
--cc=blauwirbel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).