From: Anthony Liguori <aliguori@us.ibm.com>
To: "Nakajima, Jun" <jun.nakajima@intel.com>
Cc: Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk>,
xen-devel <xen-devel@lists.xensource.com>
Subject: Re: mini-guest io emulation
Date: Mon, 13 Mar 2006 10:25:08 -0600 [thread overview]
Message-ID: <44159CE4.1020106@us.ibm.com> (raw)
In-Reply-To: <7F740D512C7C1046AB53446D3720017307306474@scsmsx402.amr.corp.intel.com>
Nakajima, Jun wrote:
> For the "mini guest", I think it could be much easier if we
> substantially strip down xenlinux rather than adding (eventually) a lot
> of stuff to the current mini-os, mainly because we need probably a
> multi-threaded run-time environment, scheduler, memory allocator, event
> handling, drivers such as xenbus/netfront/blkfront, etc. At least, I
> think we can use xenlinux as the development platform. For example,
> implement the qemu-dm as a driver adding the infrastructure required
> (e.g. small in-kernel glibc).
>
Once you get past vl.c, qemu-dm has very little reliance on glibc
functions. Since we're only trying to do hardware emulation here, I'd
expect that vl.c would not be included.
I suspect stripping down Linux is going to prove harder in the long
run. As Jacob mentioned, you only really need a simple page allocator.
The only reasons I can think of to use threads is XenBus (threads
shouldn't be required to implement it) and asynchronous IO.
I think an interesting alternative for AIO would actually be to create
another VCPU specifically for the mini-os code to run in. The
physically analogy is sane and if you truly do need more parallelism you
can always just use two VCPUs.
Regards,
Anthony Liguori
>> Once the above is working we'll be in good shape. We can remove all
>> the skany qemu-dm support from the tools as from their POV paravirt
>> and hvm guests will look identical. It should also be easy to
>> implement save/restore of hvm guests -- just save the miniguest as
>> part of the hvm guests', memory image. The next stage would then be
>> to improve performance by enhancing the device models, e.g. adding a
>> network card that suports jumbo frames and csum offload, and requires
>> fewer vmexits in operation.
>>
>> How best to move forward on this? Any volunteers?
>>
>> Thanks,
>> Ian
>>
>>
>
> Jun
> ---
> Intel Open Source Technology Center
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>
next prev parent reply other threads:[~2006-03-13 16:25 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-13 5:04 mini-guest io emulation Nakajima, Jun
2006-03-13 8:03 ` Keir Fraser
2006-03-13 12:01 ` Mark Ryden
2006-03-13 12:18 ` Jacob Gorm Hansen
2006-03-13 12:02 ` Jacob Gorm Hansen
2006-03-13 12:41 ` Grzegorz Milos
2006-03-13 16:25 ` Anthony Liguori [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-03-13 18:45 Nakajima, Jun
2006-03-13 0:06 Puthiyaparambil, Aravindh
2006-03-12 21:26 Ian Pratt
2006-03-14 8:40 ` Tristan Gingold
2006-03-15 3:03 ` Edwin Zhai
2006-03-15 10:00 ` Keir Fraser
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=44159CE4.1020106@us.ibm.com \
--to=aliguori@us.ibm.com \
--cc=jun.nakajima@intel.com \
--cc=m+Ian.Pratt@cl.cam.ac.uk \
--cc=xen-devel@lists.xensource.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.