From: Laszlo Ersek <lersek@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: Drew Jones <drjones@redhat.com>,
qemu-devel@nongnu.org, mdroth@linux.vnet.ibm.com,
pbonzini@redhat.com, lcapitulino@redhat.com,
Karen Noel <knoel@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 1/3] qga: introduce guest-get-vcpus / guest-set-vcpus with stubs
Date: Wed, 06 Mar 2013 00:05:52 +0100 [thread overview]
Message-ID: <51367A50.6040405@redhat.com> (raw)
In-Reply-To: <51365EC2.8050903@redhat.com>
On 03/05/13 22:08, Eric Blake wrote:
> On 03/04/2013 03:19 PM, Laszlo Ersek wrote:
>> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
>> ---
>
>> +# @guest-set-vcpus:
>> +#
>> +# Attempt to reconfigure (currently: enable/disable) logical processors inside
>> +# the guest.
>> +#
>> +# The input list is processed node by node in order. In each node @logical-id
>> +# is used to look up the guest VCPU, for which @online specifies the requested
>> +# state. The set of distinct @logical-id's is only required to be a subset of
>> +# guest-supported identifiers. There's no restriction on list length or on
>> +# repeating the same @logical-id (with possibly different @online field).
>> +# Preferably the input list should describe a modified subset of
>> +# @guest-get-vcpus' return value.
>> +#
>> +# If part or whole of the requested operation can't be carried out, the guest
>> +# VCPU state will be unspecified.
>
> Completely unspecified?
Yes. "Unspecified" means "valid" (ie. at least one VCPU will be online,
the guest won't be "dead"), but no further info will be returned at once.
> Or is it guaranteed that a subsequent
> successful guest-get-vcpus will still be reliably to learn after the
> fact what happened?
Yes, that is both the intent and implied by "unspecified" (as opposed to
"undefined").
> Would it make any more sense to have only a
> guest-set-vcpu, which attempts to set the state of a single vcpu,
> instead of an open-ended array of successive vcpu modifications in
> guest-set-vcpus?
The current interface can be special-cased into that type of call,
however I wanted to provide a batch interface (flipping 100 VCPUs
shouldn't take 100 round trips).
> The interface seems relatively sane, though, and it looks like something
> that libvirt would be able to use without having to add any new APIs
> (just a new flag value to the existing virDomainSetVcpusFlags() function).
Oh.
virDomainSetVcpusFlags() [src/libvirt.c]
qemuDomainSetVcpusFlags() [src/qemu/qemu_driver.c]
qemuDomainHotplugVcpus()
qemuMonitorSetCPU() [src/qemu/qemu_monitor.c]
qemuMonitorTextSetCPU()
"cpu_set %d %s"
Does this work? I can't find any trace of the "cpu_set" (or the
"set_cpu") monitor command in upstream qemu.
The relevant libvirt commits are:
- e8d6c289 Support VCPU hotplug in QEMU guests
("NB, currently untested since QEMU segvs when running this!")
- a980d123 Fix CPU hotplug command names
If this works and I'm just not seeing something then I have no reason to
pursue this series.
... Ah I understand now. "cpu_set" *is* supported by the qemu-kvm
project at <git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git> -- and
by RHEL-6 qemu-kvm --, via ACPI.
I'll have to test this in RHEL-6. If it doesn't work, I should check
why. If it does, I'll have to figure out if I should continue to work on
this.
I wonder why <git://git.qemu.org/qemu.git> doesn't have "cpu_set".
Thanks
Laszlo
next prev parent reply other threads:[~2013-03-05 23:04 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-04 22:19 [Qemu-devel] [PATCH 0/3] qga/Linux: online/offline/query VCPUs via guest sysfs Laszlo Ersek
2013-03-04 22:19 ` [Qemu-devel] [PATCH 1/3] qga: introduce guest-get-vcpus / guest-set-vcpus with stubs Laszlo Ersek
2013-03-05 21:08 ` Eric Blake
2013-03-05 23:05 ` Laszlo Ersek [this message]
2013-03-05 23:12 ` Eric Blake
2013-03-05 23:32 ` Laszlo Ersek
2013-03-06 7:40 ` Andrew Jones
2013-03-06 13:49 ` Eric Blake
2013-03-06 16:37 ` Laszlo Ersek
2013-03-04 22:19 ` [Qemu-devel] [PATCH 2/3] qga: implement qmp_guest_get_vcpus() for Linux with sysfs Laszlo Ersek
2013-03-05 20:03 ` mdroth
2013-03-05 20:22 ` Eric Blake
2013-03-05 20:45 ` mdroth
2013-03-05 21:05 ` Laszlo Ersek
2013-03-05 20:25 ` Eric Blake
2013-03-05 21:34 ` Laszlo Ersek
2013-03-05 22:06 ` mdroth
2013-03-04 22:19 ` [Qemu-devel] [PATCH 3/3] qga: implement qmp_guest_set_vcpus() " Laszlo Ersek
2013-03-05 20:09 ` mdroth
2013-03-05 21:09 ` Laszlo Ersek
2013-03-05 21:19 ` Eric Blake
2013-03-05 23:23 ` Laszlo Ersek
2013-03-05 23:37 ` Eric Blake
2013-03-06 0:44 ` Laszlo Ersek
2013-03-06 9:57 ` Paolo Bonzini
2013-03-06 13:46 ` Eric Blake
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=51367A50.6040405@redhat.com \
--to=lersek@redhat.com \
--cc=drjones@redhat.com \
--cc=eblake@redhat.com \
--cc=knoel@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=pbonzini@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).