qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/9] Clear fd handlers
@ 2010-03-09 22:25 Juan Quintela
  2010-03-09 22:25 ` [Qemu-devel] [PATCH 1/9] Convert io handlers to QLIST Juan Quintela
                   ` (9 more replies)
  0 siblings, 10 replies; 14+ messages in thread
From: Juan Quintela @ 2010-03-09 22:25 UTC (permalink / raw)
  To: qemu-devel

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(-)

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2010-03-10  0:12 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-09 22:25 [Qemu-devel] [PATCH 0/9] Clear fd handlers Juan Quintela
2010-03-09 22:25 ` [Qemu-devel] [PATCH 1/9] Convert io handlers to QLIST Juan Quintela
2010-03-09 22:25 ` [Qemu-devel] [PATCH 2/9] Introduce qemu_clear_fd_handler() Juan Quintela
2010-03-09 22:25 ` [Qemu-devel] [PATCH 3/9] Introduce qemu_set_fd_read_handler() Juan Quintela
2010-03-09 22:25 ` [Qemu-devel] [PATCH 4/9] Introduce qemu_set_fd_write_handler() Juan Quintela
2010-03-09 22:25 ` [Qemu-devel] [PATCH 5/9] Introduce qemu_set_fd_rw_handler() Juan Quintela
2010-03-09 22:41   ` [Qemu-devel] " Juan Quintela
2010-03-09 22:26 ` [Qemu-devel] [PATCH 6/9] bt: remove bt_host_read_poll() Juan Quintela
2010-03-09 22:26 ` [Qemu-devel] [PATCH 7/9] Introduce qemu_set_fd_poll_handler() Juan Quintela
2010-03-09 22:26 ` [Qemu-devel] [PATCH 8/9] remove useless cast Juan Quintela
2010-03-09 22:26 ` [Qemu-devel] [PATCH 9/9] rename IOCanRWHandler to IOCanReadHandler Juan Quintela
2010-03-09 23:53 ` [Qemu-devel] [PATCH 0/9] Clear fd handlers malc
2010-03-09 23:58   ` Anthony Liguori
2010-03-10  0:12     ` [Qemu-devel] " Juan Quintela

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).