[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/9] Clear fd handlers
From: |
malc |
Subject: |
Re: [Qemu-devel] [PATCH 0/9] Clear fd handlers |
Date: |
Wed, 10 Mar 2010 02:53:16 +0300 (MSK) |
User-agent: |
Alpine 2.00 (LNX 1167 2008-08-23) |
On Tue, 9 Mar 2010, Juan Quintela wrote:
> Hi
>
> This series :
> - convert io_handlers to one QLIST
> - once there, qemu_set_fd_handlers2() has lots of arguments that are a lot of
> times NULL.
> Introduce a set of functions to not have to pass NULL values.
> - qemu_clear_fd_handlers(): remove it
> - qemu_set_fd_read_handler(): only read
> - qemu_set_fd_write_handler(): only write
> - qemu_set_fd_rw_handler(): read/write
> - qemu_set_fd_poll_handler(): it was only used for reads and in qemu-char.c.
>
> - once there fix bt that don't need poll at all (having a poll function that
> always return true
> is the equivalent of not having one).
> - remove cast to (void *)(unsigned long) for things that already were pointers
> - IOCanRWHandler is only used for reads -> rename it (almost no users).
>
> ToDo:
> - to remove the export of qemu_set_fd_handlers2() we need a solution for tap.
> Tap is the only user in qemu that uses poll, read and write, and it changes
> in very imaginative
> ways:
> qemu_set_fd_handler2(s->fd,
> s->read_poll ? tap_can_send : NULL,
> s->read_poll ? tap_send : NULL,
> s->write_poll ? tap_writable : NULL,
> s);
>
> No ideas about how to transform this into something that don't use NULL's
> in any of its fields
> other than a row of if's.
>
> - removal of poll function. comment of qemu_set_fd_handler2()
> /* XXX: fd_read_poll should be suppressed, but an API change is
> necessary in the character devices to suppress fd_can_read(). */
>
> But qemu-char.c is a complex beast, and would preffer to 1st get this
> patches in, and then
> work on the other stuff.
>
> - obvious optimization now is to have the FD_SET() for write/read already
> filled, but I
> haven't done any meassurement.
>
> Comments?
>
> Juan Quintela (9):
> Convert io handlers to QLIST
> Introduce qemu_clear_fd_handler()
> Introduce qemu_set_fd_read_handler()
> Introduce qemu_set_fd_write_handler()
> Introduce qemu_set_fd_rw_handler()
> bt: remove bt_host_read_poll()
> Introduce qemu_set_fd_poll_handler()
> remove useless cast
> rename IOCanRWHandler to IOCanReadHandler
>
> aio.c | 2 +-
> audio/alsaaudio.c | 12 +++---
> audio/ossaudio.c | 10 ++--
> bt-host.c | 9 +----
> bt-vhci.c | 2 +-
> hw/baum.c | 2 +-
> hw/xen_backend.c | 10 ++--
> migration-exec.c | 8 ++--
> migration-fd.c | 5 +-
> migration-tcp.c | 10 ++--
> migration-unix.c | 10 ++--
> migration.c | 8 ++--
> net/socket.c | 14 +++---
> net/vde.c | 4 +-
> qemu-aio.h | 4 +-
> qemu-char.c | 48 +++++++++++-----------
> qemu-char.h | 25 ++++++++---
> qemu-common.h | 2 +-
> qemu-tool.c | 9 ++--
> usb-linux.c | 4 +-
> vl.c | 114 +++++++++++++++++++++++++++++++++++---------------
> vnc-auth-sasl.c | 2 +-
> vnc-auth-vencrypt.c | 6 +-
> vnc.c | 12 +++---
> 24 files changed, 190 insertions(+), 142 deletions(-)
What's the point if it ends up adding 48 lines of code?
--
mailto:address@hidden
- [Qemu-devel] [PATCH 6/9] bt: remove bt_host_read_poll(), (continued)
- [Qemu-devel] [PATCH 6/9] bt: remove bt_host_read_poll(), Juan Quintela, 2010/03/09
- [Qemu-devel] [PATCH 7/9] Introduce qemu_set_fd_poll_handler(), Juan Quintela, 2010/03/09
- [Qemu-devel] [PATCH 9/9] rename IOCanRWHandler to IOCanReadHandler, Juan Quintela, 2010/03/09
- [Qemu-devel] [PATCH 1/9] Convert io handlers to QLIST, Juan Quintela, 2010/03/09
- [Qemu-devel] [PATCH 3/9] Introduce qemu_set_fd_read_handler(), Juan Quintela, 2010/03/09
- [Qemu-devel] [PATCH 8/9] remove useless cast, Juan Quintela, 2010/03/09
- [Qemu-devel] [PATCH 2/9] Introduce qemu_clear_fd_handler(), Juan Quintela, 2010/03/09
- [Qemu-devel] [PATCH 5/9] Introduce qemu_set_fd_rw_handler(), Juan Quintela, 2010/03/09
- [Qemu-devel] [PATCH 4/9] Introduce qemu_set_fd_write_handler(), Juan Quintela, 2010/03/09
- Re: [Qemu-devel] [PATCH 0/9] Clear fd handlers,
malc <=