qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/3] better I/O accounting V2


From: Ryan Harper
Subject: Re: [Qemu-devel] [PATCH 0/3] better I/O accounting V2
Date: Mon, 22 Aug 2011 09:59:16 -0500
User-agent: Mutt/1.5.6+20040907i

* Christoph Hellwig <address@hidden> [2011-08-21 17:27]:
> changes since V1:
>  - rebase to apply against the current qemu.git tree


Testing on tip + this series with:

./configure --enable-debug --enable-kvm --enable-io-thread 
--target-list=x86_64-softmmu

x86_64-softmmu/qemu-system-x86_64 --enable-kvm -L pc-bios -m 2048 -drive 
file=/var/lib/libvirt/images/test01_20G.raw,if=virtio,cache=none -cdrom 
/var/lib/libvirt/images/Fedora-15-x86_64-Live-Desktop.iso -monitor stdio -vnc :5

during boot, I run one info blockstats, then during boot of F15 live env with 1 
virtio-blk devices we segfault.


(qemu) info blockstats
virtio0: rd_bytes=512 wr_bytes=0 rd_operations=1 wr_operations=0 
flush_operations=0 wr_total_time_ns=927403 rd_total_time_ns=0 
flush_total_time_ns=0
ide1-cd0: rd_bytes=0 wr_bytes=0 rd_operations=0 wr_operations=0 
flush_operations=0 wr_total_time_ns=0 rd_total_time_ns=0 flush_total_time_ns=0
floppy0: rd_bytes=0 wr_bytes=0 rd_operations=0 wr_operations=0 
flush_operations=0 wr_total_time_ns=0 rd_total_time_ns=0 flush_total_time_ns=0
sd0: rd_bytes=0 wr_bytes=0 rd_operations=0 wr_operations=0 flush_operations=0 
wr_total_time_ns=0 rd_total_time_ns=0 flush_total_time_ns=0
(qemu) [New Thread 0x7ffff5928700 (LWP 18032)]
[New Thread 0x7ffff4f27700 (LWP 18033)]

Program received signal SIGSEGV, Segmentation fault.
0x00000000004200c1 in bdrv_acct_done (bs=0x12310b0, cookie=0x1c69f50) at 
/root/git/qemu/block_int.h:239
239         bs->nr_bytes[cookie->type] += cookie->bytes;
Missing separate debuginfos, use: debuginfo-install 
cyrus-sasl-gssapi-2.1.23-8.el6.x86_64 cyrus-sasl-lib-2.1.23-8.el6.x86_64 
cyrus-sasl-md5-2.1.23-8.el6.x86_64 cyrus-sasl-plain-2.1.23-8.el6.x86_64 
db4-4.7.25-16.el6.x86_64 glib2-2.22.5-6.el6.x86_64 glibc-2.12-1.25.el6.x86_64 
gnutls-2.8.5-4.el6.x86_64 keyutils-libs-1.4-1.el6.x86_64 
krb5-libs-1.9-9.el6.x86_64 libattr-2.4.44-4.el6.x86_64 
libcom_err-1.41.12-7.el6.x86_64 libcurl-7.19.7-26.el6.x86_64 
libgcrypt-1.4.5-5.el6.x86_64 libgpg-error-1.7-3.el6.x86_64 
libidn-1.18-2.el6.x86_64 libpng-1.2.44-1.el6.x86_64 
libselinux-2.0.94-5.el6.x86_64 libssh2-1.2.2-7.el6.x86_64 
libtasn1-2.3-3.el6.x86_64 ncurses-libs-5.7-3.20090208.el6.x86_64 
nspr-4.8.7-1.el6.x86_64 nss-3.12.9-9.el6.x86_64 
nss-softokn-freebl-3.12.9-3.el6.x86_64 nss-util-3.12.9-1.el6.x86_64 
openldap-2.4.23-15.el6.x86_64 openssl-1.0.0-10.el6.x86_64 
zlib-1.2.3-25.el6.x86_64
(gdb) bt
#0  0x00000000004200c1 in bdrv_acct_done (bs=0x12310b0, cookie=0x1c69f50) at 
/root/git/qemu/block_int.h:239
#1  0x00000000004202c1 in virtio_blk_req_complete (req=0x1c5df00, status=0) at 
/root/git/qemu/hw/virtio-blk.c:63
#2  0x0000000000420fdb in virtio_blk_handle_request (req=0x1c5df00, 
mrb=0x7fffffffd1c0)
    at /root/git/qemu/hw/virtio-blk.c:380
#3  0x00000000004210f4 in virtio_blk_handle_output (vdev=0x1aa2040, 
vq=0x1aa2110)
    at /root/git/qemu/hw/virtio-blk.c:401
#4  0x000000000041e932 in virtio_queue_notify_vq (vq=0x1aa2110) at 
/root/git/qemu/hw/virtio.c:630
#5  0x00000000005b2aa4 in virtio_pci_host_notifier_read (opaque=0x1aa2110) at 
/root/git/qemu/hw/virtio-pci.c:196
#6  0x00000000004d5b4a in qemu_iohandler_poll (readfds=0x7fffffffda10, 
writefds=0x7fffffffd990, xfds=
    0x7fffffffd910, ret=1) at iohandler.c:120
#7  0x00000000005a9795 in main_loop_wait (nonblocking=0) at 
/root/git/qemu/vl.c:1356
#8  0x00000000005a9816 in main_loop () at /root/git/qemu/vl.c:1400
#9  0x00000000005ae058 in main (argc=14, argv=0x7fffffffdec8, 
envp=0x7fffffffdf40) at /root/git/qemu/vl.c:3383
(gdb) frame 0
#0  0x00000000004200c1 in bdrv_acct_done (bs=0x12310b0, cookie=0x1c69f50) at 
/root/git/qemu/block_int.h:239
239         bs->nr_bytes[cookie->type] += cookie->bytes;
(gdb) p *cookie
$1 = {bytes = 72057589759737855, start_time_ns = 72057589759737855, type = 
16777215}
(gdb) p *bs
$2 = {total_sectors = 41943040, read_only = 0, keep_read_only = 0, open_flags = 
98, removable = 0, locked = 0, 
  tray_open = 0, encrypted = 0, valid_key = 0, sg = 0, change_cb = 0x42172c 
<virtio_blk_change_cb>, change_opaque = 
    0x1aa2040, drv = 0x9d9e40, opaque = 0x1231b60, peer = 0x1aa13c0, filename = 
    "/var/lib/libvirt/images/test01_20G.raw", '\000' <repeats 985 times>, 
backing_file = 
    '\000' <repeats 1023 times>, backing_format = '\000' <repeats 15 times>, 
is_temporary = 0, media_changed = 1, 
  backing_hd = 0x0, file = 0x1231b80, sync_aiocb = 0x0, nr_bytes = {349184, 0, 
0}, nr_ops = {87, 0, 0}, 
  total_time_ns = {15991329, 0, 0}, wr_highest_sector = 0, growable = 0, 
buffer_alignment = 512, 
  enable_write_cache = 1, cyls = 16383, heads = 16, secs = 63, translation = 0, 
on_read_error = BLOCK_ERR_REPORT, 
  on_write_error = BLOCK_ERR_STOP_ENOSPC, device_name = "virtio0", '\000' 
<repeats 24 times>, dirty_bitmap = 0x0, 
  dirty_count = 0, in_use = 0, list = {tqe_next = 0x12326a0, tqe_prev = 
0x9d8e10}, private = 0x0}
(gdb) list
234     }
235
236     static inline void
237     bdrv_acct_done(BlockDriverState *bs, BlockAcctCookie *cookie)
238     {
239         bs->nr_bytes[cookie->type] += cookie->bytes;
240         bs->nr_ops[cookie->type]++;
241         bs->total_time_ns[cookie->type] += get_clock() - 
cookie->start_time_ns;
242     }
243


-- 
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]