diff options
author | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-09-26 15:59:29 +0000 |
---|---|---|
committer | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-09-26 15:59:29 +0000 |
commit | 5353872545861d8d21bf9fcc64a25cbfc8cd2eac (patch) | |
tree | e33448006dbfd0c24d1580f28b83cac1c6d17ec2 /block-raw-win32.c | |
parent | 997306fc2246048b9a4e8df4b4bb96eab6c65a82 (diff) |
Implement an fd pool to get real AIO with posix-aio
This patch implements a simple fd pool to allow many AIO requests with
posix-aio. The result is significantly improved performance (identical to that
reported for linux-aio) for both cache=on and cache=off.
The fundamental problem with posix-aio is that it limits itself to one thread
per-file descriptor. I don't know why this is, but this patch provides a simple
mechanism to work around this (duplicating the file descriptor).
This isn't a great solution, but it seems like a reasonable intermediate step
between posix-aio and a custom thread-pool to replace it.
Ryan Harper will be posting some performance analysis he did comparing posix-aio
with fd pooling against linux-aio. The size of the posix-aio thread pool and
the fd pool were largely determined by him based on this analysis.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5323 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'block-raw-win32.c')
0 files changed, 0 insertions, 0 deletions