From: "Michael S. Tsirkin" <mst@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>,
kvm@vger.kernel.org
Subject: Re: [RFC][PATCH 1/2] kvm: Introduce basic MSI support in-kernel irqchips
Date: Wed, 28 Mar 2012 17:44:41 +0200 [thread overview]
Message-ID: <20120328154440.GC20176@redhat.com> (raw)
In-Reply-To: <4F72F9A9.6000700@redhat.com>
On Wed, Mar 28, 2012 at 01:44:41PM +0200, Avi Kivity wrote:
> On 03/28/2012 01:33 PM, Jan Kiszka wrote:
> > On 2012-03-28 13:09, Avi Kivity wrote:
> > > On 03/22/2012 01:17 AM, Jan Kiszka wrote:
> > >> From: Jan Kiszka <jan.kiszka@siemens.com>
> > >>
> > >> This patch basically adds kvm_irqchip_send_msi, a service for sending
> > >> arbitrary MSI messages to KVM's in-kernel irqchip models.
> > >>
> > >> As the current KVI API requires us to establish a static route from a
> > >
> > > s/KVI/KVM/
> > >
> > >> pseudo GSI to the target MSI message and inject the MSI via toggling
> > >> that GSI, we need to play some tricks to make this unfortunately
> > >
> > > s/unfortunately/unfortunate/
> >
> > Will fix these.
>
> Only needed if you end up reposting.
>
> > >
> > >> interface transparent. We create those routes on demand and keep them
> > >> in a hash table. Succeeding messages can then search for an existing
> > >> route in the table first and reuse it whenever possible. If we should
> > >> run out of limited GSIs, we simply flush the table and rebuild it as
> > >> messages are sent.
> > >>
> > >> This approach is rather simple and could be optimized further. However,
> > >> it is more efficient to enhance the KVM API so that we do not need this
> > >> clumsy dynamic routing over futures kernels.
> > >
> > > Two APIs are clumsier than one.
> >
> > The current one is very clumsy for user-injected MSIs while the new one
> > won't be. It will also be very simple it implement if you recall the
> > patch. I think that is worth it.
>
> Don't see why. The clumsiness will be retained. The cpu doesn't care
> how clumsy the API is, only the reader.
It does care that the performance will be bad. GSIs were
supposed by design to be static, so routing changes are slow.
> >
> > >
> > > wet the patch itself, suggest replacing the home grown hash with
> > > http://developer.gnome.org/glib/2.30/glib-Caches.html.
> >
> > Let's keep it simple :). We have no need for many of those features, and
> > it would not be possible to implement the logic as compact as it is
> > right now.
>
> Due to the callbacks?
>
> What if the code grows?
>
> --
> error compiling committee.c: too many arguments to function
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>,
kvm@vger.kernel.org
Subject: Re: [Qemu-devel] [RFC][PATCH 1/2] kvm: Introduce basic MSI support in-kernel irqchips
Date: Wed, 28 Mar 2012 17:44:41 +0200 [thread overview]
Message-ID: <20120328154440.GC20176@redhat.com> (raw)
In-Reply-To: <4F72F9A9.6000700@redhat.com>
On Wed, Mar 28, 2012 at 01:44:41PM +0200, Avi Kivity wrote:
> On 03/28/2012 01:33 PM, Jan Kiszka wrote:
> > On 2012-03-28 13:09, Avi Kivity wrote:
> > > On 03/22/2012 01:17 AM, Jan Kiszka wrote:
> > >> From: Jan Kiszka <jan.kiszka@siemens.com>
> > >>
> > >> This patch basically adds kvm_irqchip_send_msi, a service for sending
> > >> arbitrary MSI messages to KVM's in-kernel irqchip models.
> > >>
> > >> As the current KVI API requires us to establish a static route from a
> > >
> > > s/KVI/KVM/
> > >
> > >> pseudo GSI to the target MSI message and inject the MSI via toggling
> > >> that GSI, we need to play some tricks to make this unfortunately
> > >
> > > s/unfortunately/unfortunate/
> >
> > Will fix these.
>
> Only needed if you end up reposting.
>
> > >
> > >> interface transparent. We create those routes on demand and keep them
> > >> in a hash table. Succeeding messages can then search for an existing
> > >> route in the table first and reuse it whenever possible. If we should
> > >> run out of limited GSIs, we simply flush the table and rebuild it as
> > >> messages are sent.
> > >>
> > >> This approach is rather simple and could be optimized further. However,
> > >> it is more efficient to enhance the KVM API so that we do not need this
> > >> clumsy dynamic routing over futures kernels.
> > >
> > > Two APIs are clumsier than one.
> >
> > The current one is very clumsy for user-injected MSIs while the new one
> > won't be. It will also be very simple it implement if you recall the
> > patch. I think that is worth it.
>
> Don't see why. The clumsiness will be retained. The cpu doesn't care
> how clumsy the API is, only the reader.
It does care that the performance will be bad. GSIs were
supposed by design to be static, so routing changes are slow.
> >
> > >
> > > wet the patch itself, suggest replacing the home grown hash with
> > > http://developer.gnome.org/glib/2.30/glib-Caches.html.
> >
> > Let's keep it simple :). We have no need for many of those features, and
> > it would not be possible to implement the logic as compact as it is
> > right now.
>
> Due to the callbacks?
>
> What if the code grows?
>
> --
> error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2012-03-28 15:44 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-21 23:17 [RFC][PATCH 0/2] uq/master: Basic MSI support for in-kernel irqchip mode Jan Kiszka
2012-03-21 23:17 ` [Qemu-devel] " Jan Kiszka
2012-03-21 23:17 ` [RFC][PATCH 1/2] kvm: Introduce basic MSI support in-kernel irqchips Jan Kiszka
2012-03-21 23:17 ` [Qemu-devel] " Jan Kiszka
2012-03-28 11:09 ` Avi Kivity
2012-03-28 11:09 ` [Qemu-devel] " Avi Kivity
2012-03-28 11:26 ` Michael S. Tsirkin
2012-03-28 11:26 ` [Qemu-devel] " Michael S. Tsirkin
2012-03-28 11:33 ` Jan Kiszka
2012-03-28 11:33 ` [Qemu-devel] " Jan Kiszka
2012-03-28 11:44 ` Avi Kivity
2012-03-28 11:44 ` [Qemu-devel] " Avi Kivity
2012-03-28 11:54 ` Jan Kiszka
2012-03-28 11:54 ` [Qemu-devel] " Jan Kiszka
2012-03-28 12:32 ` Avi Kivity
2012-03-28 12:32 ` [Qemu-devel] " Avi Kivity
2012-03-28 12:49 ` Jan Kiszka
2012-03-28 12:49 ` [Qemu-devel] " Jan Kiszka
2012-03-28 15:44 ` Michael S. Tsirkin [this message]
2012-03-28 15:44 ` Michael S. Tsirkin
2012-03-21 23:17 ` [RFC][PATCH 2/2] KVM: x86: Wire up MSI support for in-kernel irqchip Jan Kiszka
2012-03-21 23:17 ` [Qemu-devel] " Jan Kiszka
2012-03-28 7:13 ` [RFC][PATCH 0/2] uq/master: Basic MSI support for in-kernel irqchip mode Jan Kiszka
2012-03-28 7:13 ` [Qemu-devel] " Jan Kiszka
2012-03-28 9:45 ` Michael S. Tsirkin
2012-03-28 9:45 ` [Qemu-devel] " Michael S. Tsirkin
2012-03-28 9:50 ` Jan Kiszka
2012-03-28 9:50 ` [Qemu-devel] " Jan Kiszka
2012-03-28 10:47 ` Michael S. Tsirkin
2012-03-28 10:47 ` [Qemu-devel] " Michael S. Tsirkin
2012-03-28 11:07 ` Jan Kiszka
2012-03-28 11:07 ` [Qemu-devel] " Jan Kiszka
2012-03-28 11:31 ` Michael S. Tsirkin
2012-03-28 11:31 ` [Qemu-devel] " Michael S. Tsirkin
2012-03-28 11:36 ` Jan Kiszka
2012-03-28 11:36 ` [Qemu-devel] " Jan Kiszka
2012-03-28 15:43 ` Michael S. Tsirkin
2012-03-28 15:43 ` [Qemu-devel] " Michael S. Tsirkin
2012-03-28 16:00 ` Jan Kiszka
2012-03-28 16:00 ` [Qemu-devel] " Jan Kiszka
2012-03-28 16:30 ` Michael S. Tsirkin
2012-03-28 16:30 ` [Qemu-devel] " Michael S. Tsirkin
2012-03-28 16:53 ` Jan Kiszka
2012-03-28 16:53 ` [Qemu-devel] " Jan Kiszka
2012-03-28 17:06 ` Michael S. Tsirkin
2012-03-28 17:06 ` [Qemu-devel] " Michael S. Tsirkin
2012-03-28 17:18 ` Jan Kiszka
2012-03-28 17:18 ` [Qemu-devel] " Jan Kiszka
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=20120328154440.GC20176@redhat.com \
--to=mst@redhat.com \
--cc=avi@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.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 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.