• glibc implements posix-aio as a thread pool and imposes a number of limitations.
    
    1) it limits one request per-file descriptor.  we hack around this by dup()'ing
    file descriptors which is hideously ugly
    
    2) it's impossible to add new interfaces and we need a vectored read/write
    operation to properly support a zero-copy API.
    
    What has been suggested to me by glibc folks, is to implement whatever new
    interfaces we want and then it can eventually be proposed for standardization.
    This requires that we implement our own posix-aio implementation though.
    
    This patch implements posix-aio using pthreads.  It immediately eliminates the
    need for fd pooling.
    
    It performs at least as well as the current posix-aio code (in some
    circumstances, even better).
    
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5996 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »



  • MMIO exits are more expensive in KVM or Xen than in QEMU because they 
    involve, at least, privilege transitions.  However, MMIO write 
    operations can be effectively batched if those writes do not have side 
    effects.
    
    Good examples of this include VGA pixel operations when in a planar 
    mode.  As it turns out, we can get a nice boost in other areas too.  
    Laurent mentioned a 9.7% performance boost in iperf with the coalesced 
    MMIO changes for the e1000 when he originally posted this work for KVM.
    
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5961 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • Prior to kvm-80, memory slot deletion was broken in the KVM kernel 
    modules.  In kvm-81, a new capability is introduced to signify that this
    problem has been fixed.
    
    Since we rely on being able to delete memory slots, refuse to work with 
    any kernel module that does not have this capability present.
    
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5960 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »