From: Paolo Bonzini <pbonzini@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com>,
Alexander Graf <agraf@suse.de>,
Anthony Liguori <aliguori@amazon.com>,
QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH v2] qdev: Keep global allocation counter per bus
Date: Wed, 08 Jan 2014 16:18:07 +0100 [thread overview]
Message-ID: <52CD6C2F.3000101@redhat.com> (raw)
In-Reply-To: <8761pufsmr.fsf@blackfin.pond.sub.org>
Il 08/01/2014 15:35, Markus Armbruster ha scritto:
> Paolo Bonzini <pbonzini@redhat.com> writes:
>
>> Leaving only those that will be affected by the patch:
>
> You omitted akita, borzoi, connex, mainstone, nuri, smdkc210, spitz,
> terrier, tosa, verdex, z2, s390-virtio. Why won't they be affected?
Because the dup bus names are hardcoded in the board:
i2cbus = i2c_init_bus(dev, "dummy");
or in the device:
s->spi = g_new(SSIBus *, s->num_busses);
for (i = 0; i < s->num_busses; ++i) {
char bus_name[16];
snprintf(bus_name, 16, "spi%d", i);
s->spi[i] = ssi_create_bus(dev, bus_name);
}
Only dups of the "xyzzy.NN" form have their bus names created by qdev
core. For other buses this patch changes nothing (neither for better,
nor for worse).
> You also omitted the machines that I can't get to start, but I'm not
> overly worried by them, because they're all either Xen, where I don't
> expect differences to plain x86, or ppcemb, where Alex gets to clean up
> any mess he might make.
Right. In particular xenfv is just a PIIX PC, plus the (non qdev) Xen
PV bus. And xenpv is just the Xen PV bus.
>> Il 07/01/2014 18:34, Markus Armbruster ha scritto:
>>> target machine bus id times
>>> aarch64 n800 i2c-bus.0 2
>>> aarch64 n810 i2c-bus.0 2
>>> arm n800 i2c-bus.0 2
>>> arm n810 i2c-bus.0 2
>>
>> Devices are created explicitly on one of the two buses, using
>> s->mpu->i2c[0], so no change to the guest.
>>
>>> aarch64 vexpress-a15 virtio-mmio-bus.0 4
>>> aarch64 vexpress-a9 virtio-mmio-bus.0 4
>>> aarch64 virt virtio-mmio-bus.0 32
>>> arm vexpress-a15 virtio-mmio-bus.0 4
>>> arm vexpress-a9 virtio-mmio-bus.0 4
>>> arm virt virtio-mmio-bus.0 32
>>
>> With Alex's patch we get the ability to plug the device in a particular
>> slot. If anyone was using virtio-mmio-bus.0 explicitly, they get the
>> first slot instead of the 4th or 32nd. Bugfix.
>
> Doesn't this break migration? If yes, do we care?
I don't know for sure, but probably not. sysbus doesn't implement
get_dev_path, so it relies on the old instance_id mechanism to
distinguish devices. instance_id is unreliable in general (e.g. with
hotplug), but for command-lines and no hot-plug/hot-unplug it should
work. You do have to be careful and specify bus=virtio-mmio-bus.31 on
the destination if you used bus=virtio-mmio-bus.0 on the source.
BTW if you didn't use bus=virtio-mmio-bus.0, nothing changes because the
logic in qbus_find_recursive is unaffected.
>>> mips mips ide.0 2
>>> mips64 mips ide.0 2
>>> mips64el mips ide.0 2
>>> mipsel mips ide.0 2
>>
>> Not affected, the bus is not stored anywhere.
>
> Isn't command line use and migration affected, just like everywhere
> else?
Right, command-line use of ide.0. Bugfix as in Alex's PPC case, because
makes everything else consistent with PCI IDE which is the only place
where bus=ide.N worked.
Migration is not affected unless you used ide.0 on the command line. In
other words, migration from old "-drive if=ide,bus=N" to new "-drive
if=none ... -device ...,bus=ide.N" should work.
>>> ppc g3beige ide.0 2
>>> ppc mac99 ide.0 2
>>> ppc prep ide.0 2
>>> ppc64 g3beige ide.0 2
>>> ppc64 mac99 ide.0 2
>>> ppc64 prep ide.0 2
>>
>> Trusting Alex's tests here.
>
> Our analysis should be recorded in the commit message. With that done,
> I could R-by the patch.
Alex, can you spin v3 with a new commit message?
Paolo
next prev parent reply other threads:[~2014-01-08 15:18 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-20 1:41 [Qemu-devel] [PATCH v2] qdev: Keep global allocation counter per bus Alexander Graf
2013-12-21 10:42 ` Markus Armbruster
2013-12-22 13:43 ` Paolo Bonzini
2014-01-07 15:12 ` Markus Armbruster
2014-01-07 16:59 ` Paolo Bonzini
2014-01-07 17:34 ` Markus Armbruster
2014-01-08 14:04 ` Paolo Bonzini
2014-01-08 14:35 ` Markus Armbruster
2014-01-08 15:18 ` Paolo Bonzini [this message]
2014-01-08 16:52 ` Markus Armbruster
2014-01-08 3:07 ` Peter Crosthwaite
2014-01-08 4:24 ` Andreas Färber
2014-01-08 8:00 ` Markus Armbruster
2014-01-08 10:11 ` Peter Maydell
2014-01-08 8:13 ` Markus Armbruster
2014-01-08 8:26 ` Peter Crosthwaite
2014-01-08 13:40 ` Andreas Färber
2014-01-08 13:47 ` Paolo Bonzini
2014-01-10 7:50 ` Peter Crosthwaite
2014-01-10 8:48 ` Markus Armbruster
2014-02-04 9:28 ` Markus Armbruster
2014-02-05 5:19 ` Peter Crosthwaite
2014-02-05 8:45 ` Markus Armbruster
2014-01-08 11:02 ` Paolo Bonzini
2014-01-08 13:53 ` Andreas Färber
2014-01-08 14:07 ` Paolo Bonzini
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=52CD6C2F.3000101@redhat.com \
--to=pbonzini@redhat.com \
--cc=agraf@suse.de \
--cc=aliguori@amazon.com \
--cc=armbru@redhat.com \
--cc=peter.crosthwaite@xilinx.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).