From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:48421) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3S0h-0005h9-3S for qemu-devel@nongnu.org; Mon, 20 Aug 2012 09:27:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T3S0f-0004jO-E6 for qemu-devel@nongnu.org; Mon, 20 Aug 2012 09:27:15 -0400 Received: from e06smtp12.uk.ibm.com ([195.75.94.108]:37014) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3S0f-0004im-5A for qemu-devel@nongnu.org; Mon, 20 Aug 2012 09:27:13 -0400 Received: from /spool/local by e06smtp12.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 20 Aug 2012 14:27:11 +0100 Received: from d06av09.portsmouth.uk.ibm.com (d06av09.portsmouth.uk.ibm.com [9.149.37.250]) by b06cxnps3074.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q7KDQxE929950202 for ; Mon, 20 Aug 2012 13:26:59 GMT Received: from d06av09.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av09.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q7KDR5I0022310 for ; Mon, 20 Aug 2012 07:27:05 -0600 From: Stefan Hajnoczi Date: Mon, 20 Aug 2012 14:26:58 +0100 Message-Id: <1345469221-15992-1-git-send-email-stefanha@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 0/3] net: asynchronous send/receive for net/socket.c List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi The net subsystem supports non-blocking sockets and asynchronous send/receive. Unfortunately, net/socket.c doesn't fully take advantage of that yet. This patch series makes send asynchronous and drops code that will spin when the non-blocking socket would block. Also take advantage of qemu_set_fd_handler2()'s IOCanReadHandler so that we don't read packets from the socket when our peer is unable to receive. Stefan Hajnoczi (3): net: asynchronous send/receive infrastructure for net/socket.c net: EAGAIN handling for net/socket.c UDP net: EAGAIN handling for net/socket.c TCP net/socket.c | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 109 insertions(+), 13 deletions(-) -- 1.7.10.4