[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 11/12 v2] qmp: add cpu-set qmp command
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH 11/12 v2] qmp: add cpu-set qmp command |
Date: |
Mon, 25 Mar 2013 14:22:36 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4 |
On 03/25/2013 02:09 PM, Luiz Capitulino wrote:
> On Mon, 25 Mar 2013 16:35:11 +0100
> Igor Mammedov <address@hidden> wrote:
>
>> +void qmp_cpu_set(int64_t id, const bool online, Error **errp)
>> +{
>> + if (online) {
>> + do_cpu_hot_add(id, errp);
>> + } else {
>> + error_setg(errp, "Unplug is not implemented");
>> + }
>> +}
>
> As a general rule, we don't allow command extensions to be done this
> way because this is not queriable. A client would have to try online=off
> to see if QEMU version X supports it, worse: the client would have to
> parse the error message to be sure the failure actually corresponds
> to unplug not implemented.
>
> The alternative is to have cpu-set-online and later cpu-set-offline. Quite
> verbose, but doesn't have issues.
>
> Eric, what do you think?
Good point. What is the likelihood of getting offline working before
1.5 is released? If we are certain that offline cpu support won't make
this release, then having separate commands would indeed be easier to query.
On the other hand, why aren't we mirroring the QMP behavior to be
similar to what Lazlo already did for qga:
https://lists.gnu.org/archive/html/qemu-devel/2013-03/msg01031.html
That is, by having a way to query details on the set of all possible
cpus (via a new command that returns an array with max cpus elements,
rather than just the single int of query-cpu-max in
https://lists.gnu.org/archive/html/qemu-devel/2013-03/msg04441.html),
with information in that query including a second boolean stating
whether that cpu can be taken offline, would be sufficiently queryable.
The initial implementation would then state that an offline cpu can be
taken online, but that an online cpu must remain in that state.
And while typing that, I also realize that I like Lazlo's approach for
another reason - guest-set-vcpus takes an array of actions, and performs
as many as possible in one transaction; whereas your current cpu-set
command has to be called multiple times to take multiple cpus online.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH 06/12] target-i386: replace FROM_SYSBUS() with QOM type cast, (continued)
- [Qemu-devel] [PATCH 06/12] target-i386: replace FROM_SYSBUS() with QOM type cast, Igor Mammedov, 2013/03/21
- [Qemu-devel] [PATCH 08/12] introduce CPU hot-plug notifier, Igor Mammedov, 2013/03/21
- [Qemu-devel] [PATCH 10/12] acpi_piix4: add infrastructure to send CPU hot-plug GPE to guest, Igor Mammedov, 2013/03/21
- [Qemu-devel] [PATCH 11/12] qmp: add cpu_set qmp command, Igor Mammedov, 2013/03/21
- Re: [Qemu-devel] [PATCH 11/12] qmp: add cpu_set qmp command, Eric Blake, 2013/03/21
- [Qemu-devel] [PATCH 11/12 v2] qmp: add cpu-set qmp command, Igor Mammedov, 2013/03/25
- Re: [Qemu-devel] [PATCH 11/12 v2] qmp: add cpu-set qmp command, Luiz Capitulino, 2013/03/25
- Re: [Qemu-devel] [PATCH 11/12 v2] qmp: add cpu-set qmp command,
Eric Blake <=
- Re: [Qemu-devel] [PATCH 11/12 v2] qmp: add cpu-set qmp command, Igor Mammedov, 2013/03/26
- Re: [Qemu-devel] [PATCH 11/12 v2] qmp: add cpu-set qmp command, Luiz Capitulino, 2013/03/26
- Re: [Qemu-devel] [PATCH 11/12 v2] qmp: add cpu-set qmp command, Eric Blake, 2013/03/26
Re: [Qemu-devel] [PATCH 11/12] qmp: add cpu_set qmp command, Paolo Bonzini, 2013/03/27
[Qemu-devel] [PATCH 12/12] target-i386: implement CPU hot-add, Igor Mammedov, 2013/03/21
Re: [Qemu-devel] [RFC 00/12] target-i386: CPU hot-add with cpu_set QMP command, Eric Blake, 2013/03/21