[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 0/6] char: non-blocking writes, virtio-console fl
From: |
Amit Shah |
Subject: |
[Qemu-devel] [PATCH v5 0/6] char: non-blocking writes, virtio-console flow control |
Date: |
Tue, 4 May 2010 16:22:41 +0530 |
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.
v5:
- Fix bug pointed out by Gerd
- Convert to using a struct for passing on handlers to
qemu_chr_add_handlers() instead of passing each one
individually. Simplifies patches. (Inspired by Juan's comment)
- Re-arranged patches
Amit Shah (6):
virtio-console: Factor out common init between console and generic
ports
char: Add a QemuChrHandlers struct to initialise chardev handlers
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: Throttle virtio-serial-bus if we can't consume any
more guest data
gdbstub.c | 9 ++-
hw/debugcon.c | 2 +-
hw/escc.c | 9 ++-
hw/etraxfs_ser.c | 13 +++-
hw/mcf_uart.c | 9 ++-
hw/pl011.c | 9 ++-
hw/pxa2xx.c | 13 +++-
hw/serial.c | 9 ++-
hw/sh_serial.c | 12 +++-
hw/syborg_serial.c | 9 ++-
hw/usb-serial.c | 9 ++-
hw/virtio-console.c | 162 +++++++++++++++++++++++++++++++++++++++++++------
hw/xen_console.c | 16 ++++--
hw/xilinx_uartlite.c | 11 +++-
monitor.c | 19 +++++-
net/slirp.c | 8 ++-
net/socket.c | 4 +-
qemu-char.c | 119 +++++++++++++++++++++++++++++++------
qemu-char.h | 20 +++++-
qemu_socket.h | 3 +-
20 files changed, 381 insertions(+), 84 deletions(-)