From: Jan Kiszka <jan.kiszka@web.de>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>,
kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>,
Blue Swirl <blauwirbel@gmail.com>, Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v5 00/16] uq/master: Introduce basic irqchip support
Date: Tue, 20 Dec 2011 02:19:57 +0100 [thread overview]
Message-ID: <4EEFE2BD.2090201@web.de> (raw)
In-Reply-To: <4EEFDFFE.6000402@codemonkey.ws>
[-- Attachment #1: Type: text/plain, Size: 3195 bytes --]
On 2011-12-20 02:08, Anthony Liguori wrote:
> On 12/19/2011 06:37 PM, Jan Kiszka wrote:
>> On 2011-12-20 01:32, Anthony Liguori wrote:
>>> On 12/19/2011 05:49 PM, Jan Kiszka wrote:
>>>> On 2011-12-19 23:24, Anthony Liguori wrote:
>>>>> On 12/19/2011 03:17 PM, Marcelo Tosatti wrote:
>>>>>>
>>>>>> Anthony,
>>>>>>
>>>>>> Can you please review& ACK?
>>>>>>
>>>>>> You could even apply directly but well do a kvm-autotest run through
>>>>>> uq/master. Still, your review is needed.
>>>>>
>>>>> Overall, it looks good except for the backend/frontend split. This
>>>>> should be done in terms of qdev inheritance.
>>>>
>>>> I cannot follow your idea here yet. There is no inheritance as we
>>>> end up
>>>> with only a single class that permutes (selects a different backend) on
>>>> creation. I'm not sure how to model two classes that will still only
>>>> mean a single qdev registration.
>>>
>>> See other reply in thread.
>>>
>>> We should model this as two separate qdev devices. We can avoid
>>> regressing migration in qemu-kvm by just having a common vmstate name.
>>>
>>> apic is a no-user device so there's no way that changing the name of it
>>> in qemu-kvm can affect users.
>>
>> Look down http://thread.gmane.org/gmane.comp.emulators.kvm.devel/82598
>> for the discussion of that model.
>
> Let me say that I know this is the last bit of qemu-kvm that needs
> merging and that this has been an epic effort. I wouldn't refuse to
> merge a pull request that came in with this in its current form.
>
> If we merged this now, I would be submitting patches in the not too
> distant future to remove all of this backend stuff in favor of proper
> modeling (including using two separate devices).
>
> There's lot of inconsistency in qdev already today so adding a little
> more isn't the end of the world. We're going to need to eventually have
> this debate soon so it's up to you whether you want to just get this
> merged now and worry about this another day or resolve this before merge.
>
> I don't see any compatibility issues here so I'm not really concerned
> about introducing a regression by breaking it into two devices.
I don't want to see yet another attempt merged that requires foreseeable
refactoring later on. The point of this one is to do it in a way that is
providing a sound foundation for all those other features that still
wait in qemu-kvm for refactoring.
The point is that migration support between in-kernel on/off is a
worthwhile feature we should design for. That either means skipping the
backend property on device tree migration (maybe a feature we want in
other use cases as well) or provide an alias naming scheme where you can
address APICs, IOAPICs, i8259, i8254 and all the chips that non-x86 will
bring us without knowing where they are implemented and without worrying
to migrate between those variants. If you have a good model for that in
mind, rolling back to v1, rebasing improvements from v5 over it would
not be a big deal. But everyone in this round should agree on this
first. I don't wanna port back and forth nor refactor all this again
when once it's in.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 262 bytes --]
next prev parent reply other threads:[~2011-12-20 1:20 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-15 12:33 [Qemu-devel] [PATCH v5 00/16] uq/master: Introduce basic irqchip support Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 01/16] msi: Generalize msix_supported to msi_supported Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 02/16] kvm: Move kvmclock into hw/kvm folder Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 03/16] apic: Stop timer on reset Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 04/16] apic: Inject external NMI events via LINT1 Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 05/16] apic: Introduce apic_report_irq_delivered Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 06/16] apic: Introduce backend/frontend infrastructure for KVM reuse Jan Kiszka
2011-12-19 22:14 ` Anthony Liguori
2011-12-19 23:32 ` Jan Kiszka
2011-12-20 0:28 ` Anthony Liguori
2011-12-20 0:32 ` Jan Kiszka
2011-12-20 0:38 ` Anthony Liguori
2011-12-20 9:56 ` Avi Kivity
2011-12-20 13:41 ` Anthony Liguori
2011-12-20 13:51 ` Paolo Bonzini
2011-12-20 13:54 ` Anthony Liguori
2011-12-20 13:57 ` Paolo Bonzini
2011-12-20 14:07 ` Anthony Liguori
2011-12-20 17:02 ` Jan Kiszka
2011-12-20 19:14 ` Anthony Liguori
2011-12-20 21:23 ` Jan Kiszka
2011-12-20 21:38 ` Anthony Liguori
2011-12-20 21:45 ` Jan Kiszka
2011-12-20 21:55 ` Anthony Liguori
2011-12-20 22:20 ` Jan Kiszka
2011-12-20 23:41 ` Anthony Liguori
2011-12-20 23:45 ` Jan Kiszka
2011-12-20 14:07 ` Avi Kivity
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 07/16] apic: Open-code timer save/restore Jan Kiszka
2011-12-19 22:21 ` Anthony Liguori
2011-12-19 23:45 ` Jan Kiszka
2011-12-20 0:31 ` Anthony Liguori
2011-12-20 0:34 ` Jan Kiszka
2011-12-20 0:53 ` Anthony Liguori
2011-12-20 1:24 ` Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 08/16] i8259: Introduce backend/frontend infrastructure for KVM reuse Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 09/16] ioapic: " Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 10/16] memory: Introduce memory_region_init_reservation Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 11/16] kvm: Introduce core services for in-kernel irqchip support Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 12/16] kvm: x86: Establish IRQ0 override control Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 13/16] kvm: x86: Add user space part for in-kernel APIC Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 14/16] kvm: x86: Add user space part for in-kernel i8259 Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 15/16] kvm: x86: Add user space part for in-kernel IOAPIC Jan Kiszka
2011-12-15 12:33 ` [Qemu-devel] [PATCH v5 16/16] kvm: Arm in-kernel irqchip support Jan Kiszka
2011-12-19 21:17 ` [Qemu-devel] [PATCH v5 00/16] uq/master: Introduce basic " Marcelo Tosatti
2011-12-19 22:24 ` Anthony Liguori
2011-12-19 23:49 ` Jan Kiszka
2011-12-20 0:32 ` Anthony Liguori
2011-12-20 0:37 ` Jan Kiszka
2011-12-20 0:42 ` Anthony Liguori
2011-12-20 10:01 ` Avi Kivity
2011-12-20 1:08 ` Anthony Liguori
2011-12-20 1:19 ` Jan Kiszka [this message]
2011-12-20 1:28 ` Jan Kiszka
2011-12-20 2:46 ` Anthony Liguori
2011-12-20 3:10 ` Anthony Liguori
2011-12-20 8:34 ` Jan Kiszka
2011-12-20 10:03 ` Avi Kivity
2011-12-20 10:08 ` Avi Kivity
2011-12-20 13:45 ` Anthony Liguori
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=4EEFE2BD.2090201@web.de \
--to=jan.kiszka@web.de \
--cc=anthony@codemonkey.ws \
--cc=avi@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=laijs@cn.fujitsu.com \
--cc=mst@redhat.com \
--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 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).