From: Gregory Haskins <ghaskins@novell.com>
To: Avi Kivity <avi@redhat.com>
Cc: Cam Macdonell <cam@cs.ualberta.ca>,
"Kumar, Venkat" <Venkat.Kumar@lsi.com>,
"kvm@vger.kernel.org list" <kvm@vger.kernel.org>
Subject: Re: [PATCH v2] Shared memory device with interrupt support
Date: Mon, 18 May 2009 07:12:01 -0400 [thread overview]
Message-ID: <4A114281.3070209@novell.com> (raw)
In-Reply-To: <4A1086E6.30405@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 1673 bytes --]
Avi Kivity wrote:
> Cam Macdonell wrote:
>>>
>>> If my understanding is correct both the VM's who wants to
>>> communicate would gives this path in the command line with one of
>>> them specifying as "server".
>>
>> Exactly, the one with the "server" in the parameter list will wait
>> for a connection before booting.
>
> hm, we may be able to eliminate the server from the fast path, at the
> cost of some complexity.
>
> When a guest connects to the server, the server creates an eventfd and
> passes using SCM_RIGHTS to all other connected guests. The server
> also passes the eventfds of currently connected guests to the new
> guest. From now on, the server does not participate in anything; when
> a quest wants to send an interrupt to one or more other guests, its
> qemu just writes to the eventfds() of the corresponding guests; their
> qemus will inject the interrupt, without any server involvement.
>
> Now, anyone who has been paying attention will have their alarms going
> off at the word eventfd. And yes, if the host supports irqfd, the
> various qemus can associate those eventfds with an irq and pretty much
> forget about them. When a qemu triggers an irqfd, the interrupt will
> be injected directly without the target qemu's involvement.
I'll just add that you could tie the irqfd to an iosignalfd to eliminate
the involvement of qemu on either side as well. I'm not sure if that
really works with the design of this particular device (e.g. perhaps
qemu is needed for other reasons besides signaling), but it is a neat
demonstration of the flexibility of the newly emerging kvm-eventfd
interfaces.
-Greg
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 266 bytes --]
next prev parent reply other threads:[~2009-05-18 11:12 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3D9CB4061D1EB3408D4A0B910433453C030BCA8892@inbmail01.lsi.com>
2009-05-16 3:30 ` [PATCH v2] Shared memory device with interrupt support Cam Macdonell
2009-05-17 21:51 ` Avi Kivity
2009-05-18 11:12 ` Gregory Haskins [this message]
2009-05-18 11:38 ` Avi Kivity
2009-05-18 16:50 ` Cam Macdonell
2009-05-18 17:19 ` Avi Kivity
2009-05-18 12:11 ` Kumar, Venkat
2009-05-18 16:20 ` Cam Macdonell
2009-05-19 3:52 ` Kumar, Venkat
2009-05-19 11:20 ` Jayaraman, Bhaskar
2009-05-19 11:35 ` Gregory Haskins
2009-05-07 16:16 Cam Macdonell
2009-05-16 2:45 ` Kumar, Venkat
2009-05-16 3:27 ` Cam Macdonell
2009-05-17 21:39 ` Avi Kivity
2009-05-18 18:54 ` Anthony Liguori
2009-05-19 4:31 ` Avi Kivity
2009-05-19 18:31 ` Anthony Liguori
2009-05-20 9:01 ` Avi Kivity
2009-05-20 13:45 ` Anthony Liguori
2009-05-20 14:26 ` 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=4A114281.3070209@novell.com \
--to=ghaskins@novell.com \
--cc=Venkat.Kumar@lsi.com \
--cc=avi@redhat.com \
--cc=cam@cs.ualberta.ca \
--cc=kvm@vger.kernel.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.