From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:38231) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3qlC-0003pt-QO for qemu-devel@nongnu.org; Tue, 21 Aug 2012 11:52:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T3qlB-0000jH-Ng for qemu-devel@nongnu.org; Tue, 21 Aug 2012 11:52:54 -0400 Received: from e06smtp14.uk.ibm.com ([195.75.94.110]:55910) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3qlB-0000jA-Ex for qemu-devel@nongnu.org; Tue, 21 Aug 2012 11:52:53 -0400 Received: from /spool/local by e06smtp14.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 21 Aug 2012 16:52:51 +0100 Received: from d06av12.portsmouth.uk.ibm.com (d06av12.portsmouth.uk.ibm.com [9.149.37.247]) by b06cxnps4076.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q7LFqYBJ20250626 for ; Tue, 21 Aug 2012 15:52:34 GMT Received: from d06av12.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av12.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q7LFqd9l029069 for ; Tue, 21 Aug 2012 09:52:40 -0600 From: Stefan Hajnoczi Date: Tue, 21 Aug 2012 16:52:28 +0100 Message-Id: <1345564351-14693-1-git-send-email-stefanha@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH v2 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: Peter Maydell , Stefan Hajnoczi , Paolo Bonzini 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. v2: * Use iov.h instead of readv()/writev() [Peter/Paolo] 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 | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 96 insertions(+), 14 deletions(-) -- 1.7.10.4