From: Ryan Harper <ryanh@us.ibm.com>
To: Christoph Hellwig <hch@lst.de>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/3] better I/O accounting V2
Date: Mon, 22 Aug 2011 09:59:16 -0500 [thread overview]
Message-ID: <20110822145916.GS5792@us.ibm.com> (raw)
In-Reply-To: <20110821222547.GA22046@lst.de>
* Christoph Hellwig <hch@lst.de> [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
ryanh@us.ibm.com
next prev parent reply other threads:[~2011-08-22 14:59 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-21 22:25 [Qemu-devel] [PATCH 0/3] better I/O accounting V2 Christoph Hellwig
2011-08-21 22:25 ` [Qemu-devel] [PATCH 1/3] block: include flush requests in info blockstats Christoph Hellwig
2011-08-21 22:26 ` [Qemu-devel] [PATCH 2/3] block: explicit I/O accounting Christoph Hellwig
2011-08-22 15:48 ` Kevin Wolf
2011-08-24 18:22 ` Christoph Hellwig
2011-08-21 22:26 ` [Qemu-devel] [PATCH 3/3] block: latency accounting Christoph Hellwig
2011-08-22 8:45 ` [Qemu-devel] [PATCH 0/3] better I/O accounting V2 Stefan Hajnoczi
2011-08-22 14:59 ` Ryan Harper [this message]
2011-08-22 15:12 ` Christoph Hellwig
2011-08-22 15:29 ` Ryan Harper
2011-08-22 15:35 ` Christoph Hellwig
2011-08-22 16:46 ` Ryan Harper
2011-08-24 18:45 ` Christoph Hellwig
2011-08-25 16:41 ` Ryan Harper
2011-08-22 15:55 ` Kevin Wolf
2011-08-25 6:25 ` [Qemu-devel] [PATCH 0/3] better I/O accounting V3 Christoph Hellwig
2011-08-25 6:25 ` [Qemu-devel] [PATCH 1/3] block: include flush requests in info blockstats Christoph Hellwig
2011-08-25 6:26 ` [Qemu-devel] [PATCH 2/3] block: explicit I/O accounting Christoph Hellwig
2011-08-25 6:26 ` [Qemu-devel] [PATCH 3/3] block: latency accounting Christoph Hellwig
2011-08-26 13:05 ` Kevin Wolf
2011-08-26 16:06 ` Christoph Hellwig
2011-08-25 16:10 ` [Qemu-devel] [PATCH 0/3] better I/O accounting V3 Kevin Wolf
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=20110822145916.GS5792@us.ibm.com \
--to=ryanh@us.ibm.com \
--cc=hch@lst.de \
--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).