From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH 0/9] Clear fd handlers
Date: Tue, 9 Mar 2010 23:25:54 +0100 [thread overview]
Message-ID: <cover.1268173345.git.quintela@redhat.com> (raw)
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(-)
next reply other threads:[~2010-03-09 23:15 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-09 22:25 Juan Quintela [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1268173345.git.quintela@redhat.com \
--to=quintela@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).