From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38907) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ysjv5-0003Rx-8y for qemu-devel@nongnu.org; Wed, 13 May 2015 23:34:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ysjv4-0006P5-56 for qemu-devel@nongnu.org; Wed, 13 May 2015 23:34:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:37528) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ysjv3-0006OO-S1 for qemu-devel@nongnu.org; Wed, 13 May 2015 23:34:46 -0400 From: Fam Zheng Date: Thu, 14 May 2015 11:34:16 +0800 Message-Id: <1431574469-9605-1-git-send-email-famz@redhat.com> Subject: [Qemu-devel] [RFC PATCH v2 00/13] main-loop: Get rid of fd_read_poll and qemu_set_fd_handler2 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Jason Wang , Vincenzo Maffione , Stefan Hajnoczi , Paolo Bonzini , Giuseppe Lettieri , Luigi Rizzo v2: Add Paolo's rev-by in patch 2. Remove local "can_send" in patch 6. (Paolo) This carries out the mandate in the comment of qemu_set_fd_handler2 and removes fd_read_poll from the code base, because it will make the work easier to convert ppoll to epoll in main loop, as well as convert iohandler to GSource. Also, the aio interface doesn't have a read poll callback, which means this conversion woule be necessary if we want to move things from main loop to AioContext. There are five users of the read poll callback now: qemu-nbd, l2tpv3, netmap, socket and tap. Patch 1 adds a stub for qemu_set_fd_handler which will be referenced in coming patches. Patch 2 converts qemu-nbd which compares two global numbers in the fd_read_poll callback. Patches 2~5 converts the four net devices, all of which checks qemu_can_send_packet() in the callback. Patch 6 and 7 finally removes the function. Please review! Fam Zheng (13): stubs: Add qemu_set_fd_handler qemu-nbd: Switch to qemu_set_fd_handler l2tpv3: Drop l2tpv3_can_send netmap: Drop netmap_can_send net/socket: Drop net_socket_can_send tap: Drop tap_can_send Change qemu_set_fd_handler2(..., NULL, ...) to qemu_set_fd_handler main-loop: Drop qemu_set_fd_handler2 alsaaudio: Remove unused error handling of qemu_set_fd_handler oss: Remove unused error handling of qemu_set_fd_handler xen_backend: Remove unused error handling of qemu_set_fd_handler event-notifier: Always return 0 for posix implementation iohandler: Use AioContext internally audio/alsaaudio.c | 16 +----- audio/ossaudio.c | 14 ++--- blockdev-nbd.c | 4 +- hw/xen/xen_backend.c | 4 +- include/block/aio.h | 2 +- include/qemu/main-loop.h | 59 ++------------------- iohandler.c | 126 -------------------------------------------- main-loop.c | 24 +++++---- migration/exec.c | 6 +-- migration/fd.c | 4 +- migration/rdma.c | 7 ++- migration/tcp.c | 6 +-- migration/unix.c | 6 +-- net/l2tpv3.c | 17 ++---- net/netmap.c | 20 ++----- net/socket.c | 37 +++++++------ net/tap.c | 28 +++++----- qemu-nbd.c | 21 ++++++-- stubs/set-fd-handler.c | 3 +- ui/vnc-auth-sasl.c | 2 +- ui/vnc-auth-vencrypt.c | 2 +- ui/vnc-ws.c | 6 +-- ui/vnc.c | 27 +++++----- util/event_notifier-posix.c | 3 +- util/qemu-sockets.c | 8 ++- 25 files changed, 132 insertions(+), 320 deletions(-) -- 2.4.0