Kevin Wolf f214978a42 qcow2: Order concurrent AIO requests on the same unallocated cluster
When two AIO requests write to the same cluster, and this cluster is
unallocated, currently both requests allocate a new cluster and the second one
merges the first one when it is completed. This means an cluster allocation, a
read and a cluster deallocation which cause some overhead. If we simply let the
second request wait until the first one is done, we improve overall performance
with AIO requests (specifially, qcow2/virtio combinations).

This patch maintains a list of in-flight requests that have allocated new
clusters. A second request touching the same cluster is limited so that it
either doesn't touch the allocation of the first request (so it can have a
non-overlapping allocation) or it waits for the first request to complete.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-09-09 17:31:26 -05:00
2009-09-02 16:46:13 +04:00
2009-09-05 10:14:07 +00:00
2009-08-27 20:30:22 -05:00
2009-07-27 14:09:20 -05:00
2009-05-13 20:54:26 +01:00
2009-08-27 20:30:20 -05:00
2009-03-10 21:43:35 +00:00
2009-09-04 09:37:34 -05:00
2009-09-04 09:37:33 -05:00
2009-09-04 09:37:34 -05:00
2009-09-09 17:31:26 -05:00
2009-09-04 09:37:31 -05:00
2009-07-09 16:06:38 -05:00
2009-05-24 21:24:33 +01:00
2009-05-26 21:10:28 +02:00
2009-03-05 23:01:23 +00:00
2009-05-27 09:46:03 -05:00
2009-07-27 14:09:20 -05:00
2009-08-10 13:05:25 -05:00
2009-07-02 17:54:34 +00:00
2009-09-06 16:32:13 +00:00
2009-08-27 20:35:30 -05:00
2009-09-09 14:55:11 -05:00
2009-08-27 19:33:15 -05:00
2009-07-30 09:50:36 -05:00
2009-08-24 08:01:42 -05:00
2009-09-04 09:37:30 -05:00
2009-09-04 09:37:31 -05:00
2009-08-24 08:02:55 -05:00
2009-08-27 20:30:20 -05:00
2009-08-15 07:51:59 +00:00
2009-09-04 09:37:29 -05:00
2009-06-15 13:52:27 +02:00
2009-08-15 07:51:59 +00:00
2009-08-10 13:05:27 -05:00
2009-07-27 14:10:55 -05:00
2009-05-19 22:29:20 +04:00
2009-08-10 13:05:25 -05:00
2009-05-08 16:11:49 -05:00
2009-07-22 10:58:49 -05:00
2009-08-10 13:05:31 -05:00
2009-09-04 09:37:29 -05:00
2009-09-04 09:37:29 -05:00
2009-09-04 09:37:29 -05:00
2009-09-09 17:31:24 -05:00
2009-06-29 08:52:44 -05:00
2009-07-08 18:25:37 +04:00
2009-08-23 18:03:34 +02:00
2009-04-07 21:47:27 +00:00
2009-09-09 14:55:16 -05:00
2009-09-04 09:37:31 -05:00
2009-07-27 14:09:15 -05:00
2009-03-05 23:01:23 +00:00
2009-07-16 18:12:18 -05:00
2009-09-09 14:57:21 -05:00
2009-08-01 10:13:20 +00:00
2009-03-06 23:44:29 +00:00
2009-03-06 23:44:29 +00:00
2009-03-06 23:44:29 +00:00
2009-03-06 23:44:29 +00:00
2009-08-10 13:05:31 -05:00
2009-08-10 13:05:30 -05:00

Read the documentation in qemu-doc.html.

Fabrice Bellard.
Description
No description provided
Readme 404 MiB
Languages
C 82.6%
C++ 6.5%
Python 3.4%
Dylan 2.9%
Shell 1.6%
Other 2.8%