You should split this up into two patches - one for the the compat AIO
implementation and one for the getlength caching.
Thanks Christoph.
Cached getlength with pread/pwrite:
% time seconds usecs/call callserrors syscall
-- --- --- - -
96.971.760111 11893 148 4 futex
1.610.029209 1 46891 2217 select
On Sat, Apr 17, 2010 at 08:05:45PM +0100, Stefan Hajnoczi wrote:
> I think there are still a lot of lseeks left because
> raw-posix.c:raw_pread_aligned() is implemented using lseek+read
> instead of pread. Does anyone know the reasoning there or could
> pread() be used?
There's no good reason for
$ strace -cf x86_64-softmmu/qemu-system-x86_64 test.raw
Uncached getlength:
% time seconds usecs/call callserrors syscall
-- --- --- - -
96.401.944174 13136 148 4 futex
1.650.033259 1 564
Hi,
we are facing sporadic latency issue in our guests due to the
synchronous nature of bdrv_check_byte_request on raw images:
#0 0x7ff8962e2070 in lseek64 () from /lib64/libpthread.so.0
#1 0x004d7f97 in raw_getlength (bs=0xcab010) at block/raw-posix.c:704
#2 0x004b9d22 in