From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O9CQB-00041D-1e for qemu-devel@nongnu.org; Tue, 04 May 2010 03:19:59 -0400 Received: from [140.186.70.92] (port=48239 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O9CPr-0003nV-2a for qemu-devel@nongnu.org; Tue, 04 May 2010 03:19:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O9CPb-0001gN-Q6 for qemu-devel@nongnu.org; Tue, 04 May 2010 03:19:34 -0400 Received: from mx1.redhat.com ([209.132.183.28]:27131) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O9CPa-0001g1-Bx for qemu-devel@nongnu.org; Tue, 04 May 2010 03:19:22 -0400 From: Amit Shah Date: Tue, 4 May 2010 12:47:17 +0530 Message-Id: <1272957442-7832-1-git-send-email-amit.shah@redhat.com> Subject: [Qemu-devel] [PATCH v4 0/5] char: non-blocking writes, virtio-console flow control List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu list Cc: Amit Shah , Paul Brook , Gerd Hoffmann , Juan Quintela Hello, This series lets interested callers ask for an -EAGAIN return from the chardev backends (only unix and tcp sockets as of now) to implement their own flow control. A new call, qemu_chr_write_nb() is added, that will fallback to qemu_chr_write() if the backend file isn't non-blocking or if no callback was supplied. Support for other backend types is easy to add and will be done in later patches. Amit Shah (5): char: Let writers know how much data was written in case of errors char: Add qemu_chr_write_nb() for nonblocking writes char: unix/tcp: Add a non-blocking write handler virtio-console: Factor out common init between console and generic ports virtio-console: Throttle virtio-serial-bus if we can't consume any more guest data gdbstub.c | 2 +- hw/debugcon.c | 2 +- hw/escc.c | 3 +- hw/etraxfs_ser.c | 4 +- hw/mcf_uart.c | 2 +- hw/pl011.c | 2 +- hw/pxa2xx.c | 2 +- hw/serial.c | 2 +- hw/sh_serial.c | 2 +- hw/syborg_serial.c | 3 +- hw/usb-serial.c | 2 +- hw/virtio-console.c | 156 +++++++++++++++++++++++++++++++++++++++++++------- hw/xen_console.c | 7 +- hw/xilinx_uartlite.c | 5 +- monitor.c | 4 +- net/slirp.c | 2 +- net/socket.c | 4 +- qemu-char.c | 94 +++++++++++++++++++++++++++--- qemu-char.h | 9 +++ qemu_socket.h | 3 +- 20 files changed, 257 insertions(+), 53 deletions(-)