• Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5324 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • 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
    aliguori authored
     
    Browse File »
  • __GLIBC_PREREQ is defined in such a way that the ! cannot be used in front of
    it on FreeBSD.  Also, -lpthread is not implied by the build and we definitely
    use it for compatfd support.
    
    While at it, I added a default initialization for posix-aio that seems to
    perform well in our testing.
    
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5322 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse File »