From: Arnd Bergmann <arnd@arndb.de>
To: "Gregory Haskins" <ghaskins@novell.com>
Cc: alacrityvm-devel@lists.sourceforge.net,
"Ira W. Snyder" <iws@ovro.caltech.edu>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH 4/7] vbus-proxy: add a pci-to-vbus bridge
Date: Fri, 7 Aug 2009 16:57:32 +0200 [thread overview]
Message-ID: <200908071657.32858.arnd@arndb.de> (raw)
In-Reply-To: <4A7B78580200005A00051D50@sinclair.provo.novell.com>
On Friday 07 August 2009, Gregory Haskins wrote:
> >>> Arnd Bergmann <arnd@arndb.de> wrote:
> > On Thursday 06 August 2009, Gregory Haskins wrote:
> >
> > > 2b) I also want to collapse multiple interrupts together so as to
> > > minimize the context switch rate (inject + EIO overhead). My design
> > > effectively has "NAPI" for interrupt handling. This helps when the system
> > > needs it the most: heavy IO.
> >
> > That sounds like a very useful concept in general, but this seems to be a
> > detail of the interrupt controller implementation. If the IO-APIC cannot
> > do what you want here, maybe we just need a paravirtual IRQ controller
> > driver, like e.g. the PS3 has.
>
> Yeah, I agree this could be a function of the APIC code. Do note that I
> mentioned this in passing to Avi a few months ago but FWIW he indicated
> at that time that he is not interested in making the APIC PV.
>
> Also, I almost forgot an important one. Add:
>
> 2c) Interrupt prioritization. I want to be able to assign priority
> to interrupts and handle them in priority order.
I think this part of the interface has developed into the wrong direction
because you confused two questions:
1. should you build an advanced interrupt mechanism for virtual drivers?
2. how should you build an advanced interrupt mechanism for virtual drivers?
My guess is that when Avi said he did not want a paravirtual IO-APIC,
he implied that the existing one is good enough (maybe Avi can clarify that
point himself) answering question 1, while you took that as an indication
that the code should live elsewhere instead, answering question 2.
What you built with the shm-signal code is essentially a paravirtual nested
interrupt controller by another name, and deeply integrated into a new
bigger subsystem. I believe that this has significant disadvantages
over the approach of making it a standard interrupt controller driver:
* It completely avoids the infrastructure that we have built into Linux
to deal with interrupts, e.g. /proc/interrupts statistics, IRQ
balancing and CPU affinity.
* It makes it impossible to quantify the value of the feature to start with,
which could be used to answer question 1 above.
* Less importantly, it does not work with any other drivers that might
also benefit from a new interrupt controller -- if it is indeed better
than the one we already have.
Arnd <><
next prev parent reply other threads:[~2009-08-07 14:57 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-03 17:17 [PATCH 0/7] AlacrityVM guest drivers Gregory Haskins
2009-08-03 17:17 ` [PATCH 1/7] shm-signal: shared-memory signals Gregory Haskins
2009-08-06 13:56 ` Arnd Bergmann
2009-08-06 15:11 ` Gregory Haskins
2009-08-06 20:51 ` Ira W. Snyder
2009-08-03 17:17 ` [PATCH 2/7] ioq: Add basic definitions for a shared-memory, lockless queue Gregory Haskins
2009-08-03 17:17 ` [PATCH 3/7] vbus: add a "vbus-proxy" bus model for vbus_driver objects Gregory Haskins
2009-08-03 17:17 ` [PATCH 4/7] vbus-proxy: add a pci-to-vbus bridge Gregory Haskins
2009-08-06 14:42 ` Arnd Bergmann
2009-08-06 15:59 ` Gregory Haskins
2009-08-06 17:03 ` Arnd Bergmann
2009-08-06 21:04 ` Gregory Haskins
2009-08-06 22:57 ` Arnd Bergmann
2009-08-07 4:42 ` Gregory Haskins
2009-08-07 14:57 ` Arnd Bergmann [this message]
2009-08-07 15:44 ` Gregory Haskins
2009-08-07 15:55 ` Ira W. Snyder
2009-08-07 18:25 ` Gregory Haskins
2009-08-03 17:17 ` [PATCH 5/7] ioq: add driver-side vbus helpers Gregory Haskins
2009-08-03 17:18 ` [PATCH 6/7] net: Add vbus_enet driver Gregory Haskins
2009-08-03 18:30 ` Stephen Hemminger
2009-08-03 20:10 ` Gregory Haskins
2009-08-03 20:19 ` Stephen Hemminger
2009-08-03 20:24 ` Gregory Haskins
2009-08-03 20:29 ` Stephen Hemminger
2009-08-04 1:14 ` [PATCH v2] " Gregory Haskins
2009-08-04 2:38 ` David Miller
2009-08-04 13:57 ` [Alacrityvm-devel] " Gregory Haskins
2009-10-02 15:33 ` [PATCH v3] " Gregory Haskins
2009-08-03 17:18 ` [PATCH 7/7] venet: add scatter-gather/GSO support Gregory Haskins
2009-08-03 18:32 ` Stephen Hemminger
2009-08-03 19:30 ` Gregory Haskins
2009-08-03 18:33 ` Stephen Hemminger
2009-08-03 19:57 ` Gregory Haskins
2009-08-06 8:19 ` [PATCH 0/7] AlacrityVM guest drivers Reply-To: Michael S. Tsirkin
2009-08-06 10:17 ` Michael S. Tsirkin
2009-08-06 12:09 ` Gregory Haskins
2009-08-06 12:08 ` Gregory Haskins
2009-08-06 12:24 ` Michael S. Tsirkin
2009-08-06 13:00 ` Gregory Haskins
2009-08-06 12:54 ` Avi Kivity
2009-08-06 13:03 ` Gregory Haskins
2009-08-06 13:44 ` Avi Kivity
2009-08-06 13:45 ` Gregory Haskins
2009-08-06 13:57 ` Avi Kivity
2009-08-06 14:06 ` Gregory Haskins
2009-08-06 15:40 ` Arnd Bergmann
2009-08-06 15:45 ` Michael S. Tsirkin
2009-08-06 15:50 ` Avi Kivity
2009-08-06 16:55 ` Gregory Haskins
2009-08-09 7:48 ` Avi Kivity
2009-08-06 16:29 ` Gregory Haskins
2009-08-06 23:23 ` Ira W. Snyder
2009-08-06 13:59 ` Michael S. Tsirkin
2009-08-06 14:07 ` Gregory Haskins
2009-08-07 14:19 ` Anthony Liguori
2009-08-07 15:05 ` [PATCH 0/7] AlacrityVM guest drivers Gregory Haskins
2009-08-07 15:46 ` Anthony Liguori
2009-08-07 18:04 ` Gregory Haskins
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=200908071657.32858.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=alacrityvm-devel@lists.sourceforge.net \
--cc=ghaskins@novell.com \
--cc=iws@ovro.caltech.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).