All of lore.kernel.org
 help / color / mirror / Atom feed
From: Antti Kantee <pooka@rumpkernel.org>
To: wei.liu2@citrix.com, rumpkernel-users@freelists.org
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>,
	xen-devel@lists.xen.org
Subject: Re: Upstream QEMU based stubdom and rump kernel
Date: Tue, 17 Mar 2015 16:06:19 +0000	[thread overview]
Message-ID: <550850FB.2080406@rumpkernel.org> (raw)
In-Reply-To: <20150317142907.GD27314@zion.uk.xensource.com>

On 17/03/15 14:29, Wei Liu wrote:
> I've now successfully built QEMU upstream with rump kernel. However to
> make it fully functional as a stubdom, there are some missing pieces to
> be added in.
>
> 1. The ability to access QMP socket (a unix socket) from Dom0. That
>     will be used to issue command to QEMU.
> 2. The ability to access files in Dom0. That will be used to write to /
>     read from QEMU state file.

There's a way to map file access to rump kernel hypercalls with a 
facility called etfs (extra-terrestrial file system).  In fact, the 
current implementation for accessing the Xen block device from the rump 
kernel is done using etfs (... historical reasons, I'd have to go back 
5+ years to explain why it doesn't attach as a regular block device).

etfs isn't a file system, e.g. it doesn't allow listing files or 
removing them, but it does give you complete control of what happens 
when data is read or written for /some/path.  But based on the other 
posts, sounds like it might be enough for what you need.

See:
http://man.netbsd.org/cgi-bin/man-cgi?rump_etfs++NetBSD-current

> 3. The building process requires mini-os headers. That will be used
>     to build libxc (the controlling library).

That's not really a problem, though I do want to limit the amount of 
interface we claim to support with rump kernels.  For example, ISTR you 
mentioned on irc you'd like to use minios wait.h.  It would be better to 
use pthread synchronization instead of minios synchronization.  That 
way, if we do have a need to change the underlying threading in the 
future, you won't run into trouble.

So, we should just determine what is actually needed and expose those 
bits by default.

> One of my lessons learned from the existing stubdom stuffs is that I
> should work with upstream and produce maintainable code. So before I do
> anything for real I'd better consult the community. My gut feeling is
> that the first two requirements are not really Xen specific. Let me know
> what you guys plan and think.

Yes, please.  If there's something silly going on, it's most likely due to:

1) we didn't get that far in our experiments and weren't aware of it
2) we were aware, but some bits were even sillier, taking priority

Either way, a real need is a definite reason to expedite fixing.

   - antti

  parent reply	other threads:[~2015-03-17 16:06 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-17 14:29 Upstream QEMU based stubdom and rump kernel Wei Liu
2015-03-17 14:54 ` Ian Campbell
2015-03-17 14:57   ` Wei Liu
2015-03-17 15:07     ` Ian Campbell
2015-03-17 15:15 ` Anthony PERARD
2015-03-17 15:23   ` Stefano Stabellini
2015-03-17 15:27   ` Wei Liu
2015-03-17 15:38     ` Ian Campbell
2015-03-18 11:24       ` Martin Lucina
2015-03-18 11:30         ` Ian Campbell
2015-03-18 12:45           ` Stefano Stabellini
2015-03-18 16:46             ` Ian Campbell
2015-03-19 11:16   ` Ian Campbell
2015-03-17 16:06 ` Antti Kantee [this message]
2015-03-18 11:22   ` Martin Lucina
2015-03-18 13:22     ` Antti Kantee
2015-03-18 11:20 ` Martin Lucina
2015-03-18 19:05   ` Anil Madhavapeddy
2015-03-18 19:11     ` Martin Lucina
2015-03-18 20:23     ` Antti Kantee
2015-03-18 21:21       ` Anil Madhavapeddy
2015-03-18 22:07         ` Antti Kantee
2015-03-19  8:48           ` Martin Lucina
2015-03-19  9:35             ` Antti Kantee
2015-03-19 12:22               ` Anil Madhavapeddy
2015-03-19  0:19 ` Samuel Thibault

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=550850FB.2080406@rumpkernel.org \
    --to=pooka@rumpkernel.org \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=anthony.perard@citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=rumpkernel-users@freelists.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.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.