[Qemu-devel] [PATCH v4 0/3] aio: Use epoll in aio_poll()

2015-10-29 Thread Fam Zheng
v4: Rebase onto master (with aio_disable_external):
Don't use epoll if aio_external_disabled(ctx);
Change assert on epoll_ctl return code to disable epoll;
Rerun benchmark;

v3: Remove the redundant check in aio_epoll_try_enable. [Stefan]

v2: Merge aio-epoll.c into aio-posix.c. [Paolo]
Capture some benchmark data in commit log.

This series adds the ability to use epoll in aio_poll() on Linux. It's switched
on in a dynamic way rather than static for two reasons: 1) when the number of
fds is not high enough, using epoll has little advantage; 2) when an epoll
incompatible fd needs to be handled, we need to fall back.  The epoll is
enabled when a fd number threshold is met.


Fam Zheng (3):
  aio: Introduce aio_external_disabled
  aio: Introduce aio_context_setup
  aio: Introduce aio-epoll.c

 aio-posix.c | 188 +++-
 aio-win32.c |   4 ++
 async.c |  13 +++-
 include/block/aio.h |  24 +++
 4 files changed, 226 insertions(+), 3 deletions(-)

-- 
2.4.3




Re: [Qemu-devel] [PATCH v4 0/3] aio: Use epoll in aio_poll()

2015-11-03 Thread Stefan Hajnoczi
On Fri, Oct 30, 2015 at 12:06:26PM +0800, Fam Zheng wrote:
> v4: Rebase onto master (with aio_disable_external):
> Don't use epoll if aio_external_disabled(ctx);
> Change assert on epoll_ctl return code to disable epoll;
> Rerun benchmark;
> 
> v3: Remove the redundant check in aio_epoll_try_enable. [Stefan]
> 
> v2: Merge aio-epoll.c into aio-posix.c. [Paolo]
> Capture some benchmark data in commit log.
> 
> This series adds the ability to use epoll in aio_poll() on Linux. It's 
> switched
> on in a dynamic way rather than static for two reasons: 1) when the number of
> fds is not high enough, using epoll has little advantage; 2) when an epoll
> incompatible fd needs to be handled, we need to fall back.  The epoll is
> enabled when a fd number threshold is met.
> 
> 
> Fam Zheng (3):
>   aio: Introduce aio_external_disabled
>   aio: Introduce aio_context_setup
>   aio: Introduce aio-epoll.c
> 
>  aio-posix.c | 188 
> +++-
>  aio-win32.c |   4 ++
>  async.c |  13 +++-
>  include/block/aio.h |  24 +++
>  4 files changed, 226 insertions(+), 3 deletions(-)
> 
> -- 
> 2.4.3
> 

Thanks, applied to my block tree:
https://github.com/stefanha/qemu/commits/block

Stefan


signature.asc
Description: PGP signature