From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57683) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WiZsH-0001d2-Ij for qemu-devel@nongnu.org; Thu, 08 May 2014 21:45:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WiZsB-0007hw-Cm for qemu-devel@nongnu.org; Thu, 08 May 2014 21:45:21 -0400 Received: from szxga03-in.huawei.com ([119.145.14.66]:63935) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WiZsA-0007gl-P1 for qemu-devel@nongnu.org; Thu, 08 May 2014 21:45:15 -0400 Message-ID: <536C330D.7040805@huawei.com> Date: Fri, 9 May 2014 09:44:45 +0800 From: ChenLiang MIME-Version: 1.0 References: <53693FA4.3000306@windriver.com> <5369D504.2070101@redhat.com> <536AB2EE.6010504@windriver.com> <20140508130231.GA24978@grmbl.mre> <536B8332.9070705@redhat.com> <20140508133052.GA25602@grmbl.mre> <536B9524.8070307@windriver.com> <536B95E3.3010808@redhat.com> In-Reply-To: <536B95E3.3010808@redhat.com> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] virtio-serial-pci very expensive during live migration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Amit Shah , Paolo Bonzini , weidong.huang@huawei.com, armbru@redhat.com, Chris Friesen On 2014/5/8 22:34, Paolo Bonzini wrote: > Il 08/05/2014 16:31, Chris Friesen ha scritto: >> >> >> The fact remains that qemu crashes when I apply the patch. I also tried >> patching it as below in virtio_pci_vmstate_change(). That would allow >> the VM to boot, but it would crash when I tried to do a live migration. > > Can you give us your command line and a backtrace? > > Paolo > > > Hi, I have test the patch at the qemu.git, qemu crashed when vm is booting. the backtrace is: Program received signal SIGABRT, Aborted. [Switching to Thread 0x7f6bf67f9700 (LWP 9740)] 0x00007f6bfacb2b55 in raise () from /lib64/libc.so.6 (gdb) bt #0 0x00007f6bfacb2b55 in raise () from /lib64/libc.so.6 #1 0x00007f6bfacb4131 in abort () from /lib64/libc.so.6 #2 0x00007f6bfd51047c in kvm_io_ioeventfd_del (listener= 0x7f6bfd9ffee0 , section=0x7f6bf67f87c0, match_data=true, data= 0, e=0x7f6970000930) at /tmp/qemu/kvm-all.c:879 #3 0x00007f6bfd5163b5 in address_space_add_del_ioeventfds (as= 0x7f6bfde3d6e0 , fds_new=0x0, fds_new_nb=0, fds_old= 0x7f6bfdfd8ce0, fds_old_nb=1) at /tmp/qemu/memory.c:628 #4 0x00007f6bfd51698e in address_space_update_ioeventfds (as= 0x7f6bfde3d6e0 ) at /tmp/qemu/memory.c:687 #5 0x00007f6bfd517949 in address_space_update_topology (as= 0x7f6bfde3d6e0 ) at /tmp/qemu/memory.c:780 #6 0x00007f6bfd517a68 in memory_region_transaction_commit () at /tmp/qemu/memory.c:800 #7 0x00007f6bfd3e2942 in virtio_pci_stop_ioeventfd (proxy=0x7f6bfdfde080) at hw/virtio/virtio-pci.c:270 #8 0x00007f6bfd3e2aaa in virtio_ioport_write (opaque=0x7f6bfdfde080, addr=18, val= 0) at hw/virtio/virtio-pci.c:309 #9 0x00007f6bfd3e2ff3 in virtio_pci_config_write (opaque=0x7f6bfdfde080, addr=18, val=0, size=1) at hw/virtio/virtio-pci.c:436 #10 0x00007f6bfd515368 in memory_region_write_accessor (mr=0x7f6bfdfde818, addr=18, value=0x7f6bf67f8b68, size=1, shift=0, mask=255) at /tmp/qemu/memory.c:441 #11 0x00007f6bfd5154a4 in access_with_adjusted_size (addr=18, value=0x7f6bf67f8b68, size=1, access_size_min=1, access_size_max=4, access= 0x7f6bfd5152df , mr=0x7f6bfdfde818) at /tmp/qemu/memory.c:478 #12 0x00007f6bfd518305 in memory_region_dispatch_write (mr=0x7f6bfdfde818, addr=18, data=0, size=1) at /tmp/qemu/memory.c:985 #13 0x00007f6bfd51bb1b in io_mem_write (mr=0x7f6bfdfde818, addr=18, val=0, size=1) at /tmp/qemu/memory.c:1744 #14 0x00007f6bfd4a0c67 in address_space_rw (as=0x7f6bfde3d6e0 , addr=49170, buf=0x7f6bfd189000 "", len=1, is_write=true) at /tmp/qemu/exec.c:2034 #15 0x00007f6bfd511e06 in kvm_handle_io (port=49170, data=0x7f6bfd189000, direction= 1, size=1, count=1) at /tmp/qemu/kvm-all.c:1558 #16 0x00007f6bfd5123aa in kvm_cpu_exec (cpu=0x7f6bfdf54d50) at /tmp/qemu/kvm-all.c:1695 #17 0x00007f6bfd491db6 in qemu_kvm_cpu_thread_fn (arg=0x7f6bfdf54d50) at /tmp/qemu/cpus.c:873 #18 0x00007f6bfafff7f6 in start_thread () from /lib64/libpthread.so.0 #19 0x00007f6bfad5b09d in clone () from /lib64/libc.so.6 #20 0x0000000000000000 in ?? () the commandline is: LC_ALL=C PATH=/bin:/sbin:/usr/bin:/usr/sbin HOME=/ QEMU_AUDIO_DRV=none /tmp/qemu/x86_ 64-softmmu/qemu-system-x86_64 -name cl_suse -S -machine pc-i440fx-1.5,accel=kvm,usb=o ff -m 10240 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 5a09315c-d31 4-49a5-aa51-2168a71bf82d -no-user-config -nodefaults -chardev socket,id=charmonitor,p ath=/var/lib/libvirt/qemu/cl_suse.monitor,server,nowait -mon chardev=charmonitor,id=m onitor,mode=control -rtc base=utc -no-hpet -no-shutdown -device piix3-usb-uhci,id=usb ,bus=pci.0,addr=0x1.0x2 -drive file=/mnt/sdb/cl/cl_sles11sp3.img,if=none,id=drive-vir tio-disk0,format=raw,cache=none,aio=native -device virtio-blk-pci,scsi=off,bus=pci.0, addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -chardev pty,id=charser ial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 - vnc 0.0.0.0:0 -device cirrus-vga,id=video0,vgamem_mb=9,bus=pci.0,addr=0x2 -device vir tio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6