From: Avi Kivity <avi@redhat.com>
To: pav <pav@aster.pl>
Cc: kvm@vger.kernel.org
Subject: Re: Qemu (host) <-> host userspace signaling?
Date: Mon, 01 Jun 2009 10:51:08 +0300 [thread overview]
Message-ID: <4A23886C.7020809@redhat.com> (raw)
In-Reply-To: <gvufa2$mb4$1@ger.gmane.org>
pav wrote:
> Hello,
>
> I am looking for a simple way to get a bidirectional event notification
> interface between qemu/kvm and host userspace processes. Just a "kick",
> messages/data not required.
>
>
> What I basically need is a way to have an interested host process
> informed by a custom qemu device that something happened (i.e. after a
> MMIO write) and the other way around - to allow similar notifications
> from the process to the qemu device. Of course I do not want qemu to
> sleep.
> Instant reaction to such events is not required.
>
>
> I understand I could use a unix socket and qemu_chr_open() and friends
> for this, but isn't a full-blown socket a bit of an overkill for a simple
> "kick" interface?
>
Not at all. Send a byte to have the other side wake up.
> From what I understand qemu would then act as a server and sleep just
> after starting (or later?), waiting for connections? Or maybe there is a
> way to reverse it, have qemu be the client, although that could still
> make qemu sleep?.
> I guess it could use some kind of poll/select, but I am not sure where in
> qemu should such code be put in though...
>
You can have have qemu act as a client or as server, and wait for
connections or not.
> Or maybe there is something else for this in qemu already? I had thought
> iosignalfd or eventfd were made for that, but if I understand correctly,
> they communicate with the guest and are for something different?
>
iosiginalfd and irqfd are slightly more efficient, but you need to make
them available to another process by passing them over a unix domain
socket with SCM_RIGHTS. So they are more cumbersome to set up.
irqfd also requires MSI support in the guest.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
next prev parent reply other threads:[~2009-06-01 7:51 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-31 17:38 Qemu (host) <-> host userspace signaling? pav
2009-06-01 7:51 ` Avi Kivity [this message]
2009-06-01 17:15 ` Gregory Haskins
2009-06-01 17:40 ` Avi Kivity
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=4A23886C.7020809@redhat.com \
--to=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=pav@aster.pl \
/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.