[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [RFC PATCH 00/40] Sneak peek of virtio and
From: |
Christian Borntraeger |
Subject: |
Re: [Qemu-block] [Qemu-devel] [RFC PATCH 00/40] Sneak peek of virtio and dataplane changes for 2.6 |
Date: |
Thu, 26 Nov 2015 10:36:57 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 11/24/2015 07:00 PM, Paolo Bonzini wrote:
> This large series is basically all that I would like to get into 2.6.
> It is a combination of several pieces of work on dataplane and
> multithreaded block layer.
>
> It's also a large part of why I would like someone else to look at
> miscellaneous patches for a while (in case you've missed that). I
> can foresee that following the reviews is going to be a huge time drain.
>
> With it I can get ~1300 Kiops on 8 disks (which I achieve with 2 iothreads
> and 5 VCPUs). The bulk of the improvement actually comes from the first
> 8 patches, but the rest of the series is what prepares for what's next
> to come in QEMU 2.7 and later, such as a multiqueue block layer.
>
> It's tedious to review, with some pretty large patches (3, 32, 33, 35).
On 11/24/2015 07:00 PM, Paolo Bonzini wrote:
> This large series is basically all that I would like to get into 2.6.
> It is a combination of several pieces of work on dataplane and
> multithreaded block layer.
>
> It's also a large part of why I would like someone else to look at
> miscellaneous patches for a while (in case you've missed that). I
> can foresee that following the reviews is going to be a huge time drain.
>
> With it I can get ~1300 Kiops on 8 disks (which I achieve with 2 iothreads
> and 5 VCPUs). The bulk of the improvement actually comes from the first
> 8 patches, but the rest of the series is what prepares for what's next
> to come in QEMU 2.7 and later, such as a multiqueue block layer.
For some unknown reason, this seems to be slightly slower than 2.5-rc1 on my
old z196. (have not net tested the z13)
your branch is certainly better regarding malloc, but worse regarding others.
your branch:
# Overhead Command Shared Object Symbol
# ........ ............... .......................
.......................................
#
3.99% qemu-system-s39 libc-2.18.so [.] __memcpy_z196
2.66% qemu-system-s39 qemu-system-s390x [.] address_space_lduw_le
2.51% qemu-system-s39 qemu-system-s390x [.] address_space_map
2.51% qemu-system-s39 qemu-system-s390x [.] phys_page_find
2.24% qemu-system-s39 qemu-system-s390x [.] qemu_get_ram_ptr
2.18% qemu-system-s39 libc-2.18.so [.] _int_malloc
2.18% qemu-system-s39 qemu-system-s390x [.] address_space_translate_internal
2.03% qemu-system-s39 libc-2.18.so [.] malloc
1.91% qemu-system-s39 qemu-system-s390x [.] qemu_coroutine_switch
1.66% qemu-system-s39 qemu-system-s390x [.] address_space_rw
1.63% qemu-system-s39 qemu-system-s390x [.] address_space_stw_le
1.57% qemu-system-s39 qemu-system-s390x [.] address_space_stl_le
1.57% qemu-system-s39 qemu-system-s390x [.] address_space_translate
1.45% qemu-system-s39 qemu-system-s390x [.] virtqueue_pop
1.33% qemu-system-s39 libc-2.18.so [.] _int_free
1.27% qemu-system-s39 [kernel.vmlinux] [k] system_call
1.00% qemu-system-s39 qemu-system-s390x [.] qemu_coroutine_enter
0.94% qemu-system-s39 libc-2.18.so [.] __sigsetjmp
0.94% qemu-system-s39 libc-2.18.so [.] free
0.91% qemu-system-s39 qemu-system-s390x [.] qemu_ram_block_from_host
0.88% qemu-system-s39 qemu-system-s390x [.] virtio_blk_handle_request
0.82% qemu-system-s39 qemu-system-s390x [.] object_unref
0.79% qemu-system-s39 qemu-system-s390x [.] vring_desc_read
0.76% qemu-system-s39 qemu-system-s390x [.] qemu_get_ram_block
0.73% qemu-system-s39 libglib-2.0.so.0.3800.2 [.] g_free
2.5.0-rc1:
# Overhead Command Shared Object Symbol
# ........ ............... .......................
.......................................
#
5.10% qemu-system-s39 libc-2.18.so [.] _int_malloc
3.30% qemu-system-s39 libc-2.18.so [.] __memcpy_z196
2.83% qemu-system-s39 qemu-system-s390x [.] memory_region_find_rcu
2.72% qemu-system-s39 qemu-system-s390x [.] vring_pop
2.27% qemu-system-s39 qemu-system-s390x [.] qemu_coroutine_switch
2.18% qemu-system-s39 libc-2.18.so [.] _int_free
1.99% qemu-system-s39 libc-2.18.so [.] malloc
1.37% qemu-system-s39 qemu-system-s390x [.] address_space_rw
1.37% qemu-system-s39 qemu-system-s390x [.] aio_bh_poll
1.37% qemu-system-s39 qemu-system-s390x [.] qemu_get_ram_ptr
1.34% qemu-system-s39 libc-2.18.so [.] free
1.29% qemu-system-s39 libc-2.18.so [.] malloc_consolidate
1.18% qemu-system-s39 qemu-system-s390x [.] memory_region_find
1.09% qemu-system-s39 libglib-2.0.so.0.3800.2 [.] g_malloc
1.06% qemu-system-s39 [kernel.vmlinux] [k] system_call
0.95% qemu-system-s39 [kernel.vmlinux] [k] __schedule
0.95% qemu-system-s39 qemu-system-s390x [.] qemu_coroutine_enter
0.92% qemu-system-s39 qemu-system-s390x [.] get_desc.isra.11
0.92% qemu-system-s39 qemu-system-s390x [.] qemu_ram_block_from_host
0.87% qemu-system-s39 [kernel.vmlinux] [k] enqueue_entity
0.84% qemu-system-s39 qemu-system-s390x [.] vring_push
0.78% qemu-system-s39 [kernel.vmlinux] [k] set_next_entity
0.73% qemu-system-s39 [kernel.vmlinux] [k] kvm_arch_vcpu_ioctl_run
0.73% qemu-system-s39 [vdso] [.] __kernel_clock_gettime
0.73% qemu-system-s39 qemu-system-s390x [.] virtio_blk_handle_request
0.73% qemu-system-s39 qemu-system-s390x [.] vring_map
0.67% qemu-system-s39 [kernel.vmlinux] [k] account_system_time
0.67% qemu-system-s39 [kernel.vmlinux] [k] set_adapter_int
0.67% qemu-system-s39 qemu-system-s390x [.] addrrange_intersection
- [Qemu-block] [PATCH 31/40] qed: introduce qed_aio_start_io and qed_aio_next_io_cb, (continued)
- [Qemu-block] [PATCH 31/40] qed: introduce qed_aio_start_io and qed_aio_next_io_cb, Paolo Bonzini, 2015/11/24
- [Qemu-block] [PATCH 34/40] block: explicitly acquire aiocontext in timers that need it, Paolo Bonzini, 2015/11/24
- [Qemu-block] [PATCH 33/40] block: explicitly acquire aiocontext in bottom halves that need it, Paolo Bonzini, 2015/11/24
- [Qemu-block] [PATCH 32/40] block: explicitly acquire aiocontext in callbacks that need it, Paolo Bonzini, 2015/11/24
- [Qemu-block] [PATCH 37/40] async: optimize aio_bh_poll, Paolo Bonzini, 2015/11/24
- [Qemu-block] [PATCH 36/40] aio: update locking documentation, Paolo Bonzini, 2015/11/24
- [Qemu-block] [PATCH 35/40] block: explicitly acquire aiocontext in aio callbacks that need it, Paolo Bonzini, 2015/11/24
- [Qemu-block] [PATCH 38/40] aio-posix: partially inline aio_dispatch into aio_poll, Paolo Bonzini, 2015/11/24
- [Qemu-block] [PATCH 40/40] dma-helpers: avoid lock inversion with AioContext, Paolo Bonzini, 2015/11/24
- [Qemu-block] [PATCH 39/40] async: remove unnecessary inc/dec pairs, Paolo Bonzini, 2015/11/24
- Re: [Qemu-block] [Qemu-devel] [RFC PATCH 00/40] Sneak peek of virtio and dataplane changes for 2.6,
Christian Borntraeger <=