On 17/12/18 17:48, remy.n...@blade-group.com wrote: > Also, we do not call aio_epoll_update for deleted handlers as this has > no impact whatsoever.
Why? epoll is used in level-triggered mode, so you do have to remove the file descriptor... > atomic_read(&ctx->poll_disable_cnt) + poll_disable_change); > > - aio_epoll_update(ctx, node, is_new); > + if (new_node) { > + aio_epoll_update(ctx, new_node, is_new); > + } > qemu_lockcnt_unlock(&ctx->list_lock); > aio_notify(ctx); ... so I think this should be "if (node || new_node)"? Paolo