[libvirt] "virsh setvcpus" does not work.

Hi, I tested "virsh setvcpus" command and it did not work like the following: # virsh setvcpus RHEL5.5GA_Guest.img 2 error: internal error unable to execute QEMU command 'cpu_set': The command cpu_set has not been ound # Has this problem been fixed already on upstream ? o Test environment Host OS: RHEL6.0 (x86_64) qemu-kvm: 0.12.1.2-2.113.el6 libvirt : 0.8.1-27.el6 Guetst OS: RHEL5.5 o GDB output (gdb) b qerror_report_internal Breakpoint 1 at 0x497a50: file qerror.c, line 412. (gdb) c Continuing. [New Thread 0x7f726a9fc710 (LWP 23964)] Breakpoint 1, qerror_report_internal ( file=0x57e9d0 "/builddir/build/BUILD/qemu-kvm-0.12.1.2/monitor.c", linenr=4427, func=0x582af0 "handle_qmp_command", fmt=0x57ee90 "{ 'class': 'CommandNotFound', 'data': { 'name': %s } }") at qerror.c:412 412 { (gdb) bt #0 qerror_report_internal ( file=0x57e9d0 "/builddir/build/BUILD/qemu-kvm-0.12.1.2/monitor.c", linenr=4427, func=0x582af0 "handle_qmp_command", fmt=0x57ee90 "{ 'class': 'CommandNotFound', 'data': { 'name': %s } }") at qerror.c:412 #1 0x00000000004133ae in handle_qmp_command (parser=<value optimized out>, tokens=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/monitor.c:4427 #2 0x0000000000495d52 in json_message_process_token (lexer=0x1ab5d70, token=0x22037b0, type=JSON_OPERATOR, x=61, y=9170) at json-streamer.c:56 #3 0x0000000000495ab3 in json_lexer_feed_char (lexer=0x1ab5d70, ch=125 '}') at json-lexer.c:299 #4 0x0000000000495be7 in json_lexer_feed (lexer=0x1ab5d70, buffer=0x7ffff19b4510 "}F\232\001", size=1) at json-lexer.c:322 #5 0x00000000004124d2 in monitor_control_read (opaque=<value optimized out>, buf=<value optimized out>, size=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/monitor.c:4478 #6 0x00000000004b6b8a in qemu_chr_read (opaque=0x19a43a0) at qemu-char.c:154 #7 tcp_chr_read (opaque=0x19a43a0) at qemu-char.c:2072 #8 0x000000000040b4af in main_loop_wait (timeout=1000) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:4234 #9 0x0000000000428a2a in kvm_main_loop () at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2133 #10 0x000000000040e5cb in main_loop (argc=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:4444 #11 main (argc=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:6601 (gdb) Thanks Ken'ichi Ohmichi

On 12/06/2010 01:14 AM, Ken'ichi Ohmichi wrote: Hi, and sorry for the delayed response,
Hi,
I tested "virsh setvcpus" command and it did not work like the following:
# virsh setvcpus RHEL5.5GA_Guest.img 2 error: internal error unable to execute QEMU command 'cpu_set': The command cpu_set has not been ound
qemu vcpu hot-plugging has been a sore spot for some time now. My understanding is that an early implementation used to be upstream, but it was buggy, so current upstream does not support it. RHEL has taken some efforts to provide vcpu hot-plugging beyond what upstream supports, but it is still a work in progress, and I haven't personally tested RHEL 6.0 to see how well it does (most of my vcpu hot-plug testing was done for RHEL 5.x with xen).
#
Has this problem been fixed already on upstream ?
o Test environment Host OS: RHEL6.0 (x86_64) qemu-kvm: 0.12.1.2-2.113.el6 libvirt : 0.8.1-27.el6
https://bugzilla.redhat.com/show_bug.cgi?id=533138 appears to be relevant to your situation, and mentions that the issue has been deferred to at least RHEL 6.1. -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org

Hi Eric, Thank you for the explanation. On Wed, 15 Dec 2010 08:42:12 -0700 Eric Blake <eblake@redhat.com> wrote:
I tested "virsh setvcpus" command and it did not work like the following:
# virsh setvcpus RHEL5.5GA_Guest.img 2 error: internal error unable to execute QEMU command 'cpu_set': The command cpu_set has not been ound
qemu vcpu hot-plugging has been a sore spot for some time now. My understanding is that an early implementation used to be upstream, but it was buggy, so current upstream does not support it. RHEL has taken some efforts to provide vcpu hot-plugging beyond what upstream supports, but it is still a work in progress, and I haven't personally tested RHEL 6.0 to see how well it does (most of my vcpu hot-plug testing was done for RHEL 5.x with xen).
#
Has this problem been fixed already on upstream ?
o Test environment Host OS: RHEL6.0 (x86_64) qemu-kvm: 0.12.1.2-2.113.el6 libvirt : 0.8.1-27.el6
https://bugzilla.redhat.com/show_bug.cgi?id=533138 appears to be relevant to your situation, and mentions that the issue has been deferred to at least RHEL 6.1.
I see. Thanks Ken'ichi Ohmichi
participants (2)
-
Eric Blake
-
Ken'ichi Ohmichi