From: Paolo Bonzini <pbonzini@redhat.com>
To: Alexander Graf <agraf@suse.de>
Cc: Gleb Natapov <gleb@redhat.com>,
kvm@vger.kernel.org, kvm-ppc@vger.kernel.org,
Stuart Yoder <stuart.yoder@freescale.com>,
Scott Wood <scottwood@freescale.com>,
Paul Mackerras <paulus@samba.org>,
Peter Maydell <peter.maydell@linaro.org>
Subject: Re: in-kernel interrupt controller steering
Date: Wed, 06 Mar 2013 12:28:42 +0000 [thread overview]
Message-ID: <125812475.3190138.1362572922012.JavaMail.root@redhat.com> (raw)
In-Reply-To: <1777B6DD-B341-4531-BE43-7B0161B1D093@suse.de>
> > Alex, would the PPC patches let you run with in-kernel "LAPICs"
> > and userspace "IOAPICs"? If so, the new model would not be a
> > problem with QEMU at all.
>
> The split on PPC isn't that clean. The MPIC doesn't split it at all
> for example. There we only have an "IOAPIC" without a "LAPIC". So
> setting the irqchip type to MPIC would be a nop.
>
> For XICS, we would have something similar to a LAPIC. We would
> however have to communicate with that piece to tell it that
> interrupts are pending or not. I suppose this might be doable
> through the ONE_REG interface that Paul implemented, but I'm not
> sure.
Paul, can you confirm?
> I don't really think doing such a split makes sense though :).
>
> > The problem would only start if KVM_SET_IRQCHIP_TYPE (new name of
> > KVM_CREATE_IRQCHIP_ARGS) forced you to later call
> > KVM_CREATE_DEVICE.
>
> Ah, I see. I don't see why it would. The fact that there is a "LAPIC"
> doesn't mean that the per-vcpu SET_INTERRUPT ioctl stops working. So
> if SET_IRQCHIP_TYPE(!none) breaks user-space interrupt controller
> emulation I would consider that a bug.
If there's agreement that KVM_SET_IRQCHIP_TYPE doesn't force
subsequent KVM_CREATE_DEVICE calls (for CPU interrupt controllers
that's because they're controlled via ONE_REG and not DEVICE_ATTR),
I think we're fine.
Paolo
WARNING: multiple messages have this Message-ID (diff)
From: Paolo Bonzini <pbonzini@redhat.com>
To: Alexander Graf <agraf@suse.de>
Cc: Gleb Natapov <gleb@redhat.com>,
kvm@vger.kernel.org, kvm-ppc@vger.kernel.org,
Stuart Yoder <stuart.yoder@freescale.com>,
Scott Wood <scottwood@freescale.com>,
Paul Mackerras <paulus@samba.org>,
Peter Maydell <peter.maydell@linaro.org>
Subject: Re: in-kernel interrupt controller steering
Date: Wed, 6 Mar 2013 07:28:42 -0500 (EST) [thread overview]
Message-ID: <125812475.3190138.1362572922012.JavaMail.root@redhat.com> (raw)
In-Reply-To: <1777B6DD-B341-4531-BE43-7B0161B1D093@suse.de>
> > Alex, would the PPC patches let you run with in-kernel "LAPICs"
> > and userspace "IOAPICs"? If so, the new model would not be a
> > problem with QEMU at all.
>
> The split on PPC isn't that clean. The MPIC doesn't split it at all
> for example. There we only have an "IOAPIC" without a "LAPIC". So
> setting the irqchip type to MPIC would be a nop.
>
> For XICS, we would have something similar to a LAPIC. We would
> however have to communicate with that piece to tell it that
> interrupts are pending or not. I suppose this might be doable
> through the ONE_REG interface that Paul implemented, but I'm not
> sure.
Paul, can you confirm?
> I don't really think doing such a split makes sense though :).
>
> > The problem would only start if KVM_SET_IRQCHIP_TYPE (new name of
> > KVM_CREATE_IRQCHIP_ARGS) forced you to later call
> > KVM_CREATE_DEVICE.
>
> Ah, I see. I don't see why it would. The fact that there is a "LAPIC"
> doesn't mean that the per-vcpu SET_INTERRUPT ioctl stops working. So
> if SET_IRQCHIP_TYPE(!none) breaks user-space interrupt controller
> emulation I would consider that a bug.
If there's agreement that KVM_SET_IRQCHIP_TYPE doesn't force
subsequent KVM_CREATE_DEVICE calls (for CPU interrupt controllers
that's because they're controlled via ONE_REG and not DEVICE_ATTR),
I think we're fine.
Paolo
next prev parent reply other threads:[~2013-03-06 12:28 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-04 22:20 in-kernel interrupt controller steering Alexander Graf
2013-03-04 22:20 ` Alexander Graf
2013-03-05 0:59 ` Scott Wood
2013-03-05 0:59 ` Scott Wood
2013-03-05 5:44 ` Paul Mackerras
2013-03-05 5:44 ` Paul Mackerras
2013-03-05 15:25 ` Gleb Natapov
2013-03-05 15:25 ` Gleb Natapov
2013-03-06 9:40 ` Paolo Bonzini
2013-03-06 9:40 ` Paolo Bonzini
2013-03-06 9:58 ` Gleb Natapov
2013-03-06 9:58 ` Gleb Natapov
2013-03-06 10:04 ` Alexander Graf
2013-03-06 10:04 ` Alexander Graf
2013-03-06 10:12 ` Gleb Natapov
2013-03-06 10:12 ` Gleb Natapov
2013-03-06 10:38 ` Paolo Bonzini
2013-03-06 10:38 ` Paolo Bonzini
2013-03-06 10:38 ` Paolo Bonzini
2013-03-06 10:38 ` Paolo Bonzini
2013-03-06 11:26 ` Gleb Natapov
2013-03-06 11:26 ` Gleb Natapov
2013-03-06 11:44 ` Alexander Graf
2013-03-06 11:44 ` Alexander Graf
2013-03-06 11:46 ` Paolo Bonzini
2013-03-06 11:46 ` Paolo Bonzini
2013-03-06 11:47 ` Alexander Graf
2013-03-06 11:47 ` Alexander Graf
2013-03-06 11:57 ` Paolo Bonzini
2013-03-06 11:57 ` Paolo Bonzini
2013-03-06 11:58 ` Alexander Graf
2013-03-06 11:58 ` Alexander Graf
2013-03-06 13:16 ` Gleb Natapov
2013-03-06 13:16 ` Gleb Natapov
2013-03-06 11:44 ` Paolo Bonzini
2013-03-06 11:44 ` Paolo Bonzini
2013-03-06 11:46 ` Alexander Graf
2013-03-06 11:46 ` Alexander Graf
2013-03-06 11:59 ` Gleb Natapov
2013-03-06 11:59 ` Gleb Natapov
2013-03-06 12:02 ` Alexander Graf
2013-03-06 12:02 ` Alexander Graf
2013-03-06 12:14 ` Paolo Bonzini
2013-03-06 12:14 ` Paolo Bonzini
2013-03-06 12:20 ` Alexander Graf
2013-03-06 12:20 ` Alexander Graf
2013-03-06 12:28 ` Paolo Bonzini [this message]
2013-03-06 12:28 ` Paolo Bonzini
2013-03-06 13:14 ` Gleb Natapov
2013-03-06 13:14 ` Gleb Natapov
2013-03-06 13:22 ` Alexander Graf
2013-03-06 13:22 ` Alexander Graf
2013-03-06 13:56 ` Gleb Natapov
2013-03-06 13:56 ` Gleb Natapov
2013-03-06 14:03 ` Alexander Graf
2013-03-06 14:03 ` Alexander Graf
2013-03-06 14:12 ` Paolo Bonzini
2013-03-06 14:12 ` Paolo Bonzini
2013-03-06 14:30 ` Alexander Graf
2013-03-06 14:30 ` Alexander Graf
2013-03-06 14:37 ` Paolo Bonzini
2013-03-06 14:37 ` Paolo Bonzini
2013-03-06 14:40 ` Alexander Graf
2013-03-06 14:40 ` Alexander Graf
2013-03-06 14:41 ` Gleb Natapov
2013-03-06 14:41 ` Gleb Natapov
2013-03-06 14:48 ` Alexander Graf
2013-03-06 14:48 ` Alexander Graf
2013-03-06 14:59 ` Alexander Graf
2013-03-06 14:59 ` Alexander Graf
2013-03-06 15:02 ` Paolo Bonzini
2013-03-06 15:02 ` Paolo Bonzini
2013-03-06 15:30 ` Gleb Natapov
2013-03-06 15:30 ` Gleb Natapov
2013-03-06 16:33 ` Alexander Graf
2013-03-06 16:33 ` Alexander Graf
2013-03-07 0:32 ` Paul Mackerras
2013-03-07 0:32 ` Paul Mackerras
2013-03-07 7:43 ` Paolo Bonzini
2013-03-07 7:43 ` Paolo Bonzini
2013-03-06 13:41 ` Paolo Bonzini
2013-03-06 13:41 ` Paolo Bonzini
2013-03-06 14:11 ` Gleb Natapov
2013-03-06 14:11 ` Gleb Natapov
2013-03-06 14:31 ` Alexander Graf
2013-03-06 14:31 ` Alexander Graf
2013-03-06 18:46 ` Peter Maydell
2013-03-06 18:46 ` Peter Maydell
2013-03-06 19:20 ` Alexander Graf
2013-03-06 19:20 ` Alexander Graf
2013-03-06 0:23 ` Benjamin Herrenschmidt
2013-03-06 0:23 ` Benjamin Herrenschmidt
2013-03-06 0:33 ` Alexander Graf
2013-03-06 0:33 ` Alexander Graf
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=125812475.3190138.1362572922012.JavaMail.root@redhat.com \
--to=pbonzini@redhat.com \
--cc=agraf@suse.de \
--cc=gleb@redhat.com \
--cc=kvm-ppc@vger.kernel.org \
--cc=kvm@vger.kernel.org \
--cc=paulus@samba.org \
--cc=peter.maydell@linaro.org \
--cc=scottwood@freescale.com \
--cc=stuart.yoder@freescale.com \
/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.