All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@gmail.com>
To: Fam Zheng <famz@redhat.com>
Cc: qemu-block@nongnu.org, Juan Quintela <quintela@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	qemu-devel@nongnu.org, Vincenzo Maffione <v.maffione@gmail.com>,
	"Vassili Karpov (malc)" <av1474@comtv.ru>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Amit Shah <amit.shah@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Giuseppe Lettieri <g.lettieri@iet.unipi.it>,
	Luigi Rizzo <rizzo@iet.unipi.it>
Subject: Re: [Qemu-devel] [Qemu-block] [PATCH v3 00/13] main-loop: Get rid of fd_read_poll and qemu_set_fd_handler2
Date: Tue, 19 May 2015 16:02:38 +0100	[thread overview]
Message-ID: <20150519150238.GK9338@stefanha-thinkpad.redhat.com> (raw)
In-Reply-To: <1432032670-15124-1-git-send-email-famz@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 1851 bytes --]

On Tue, May 19, 2015 at 10:50:57AM +0000, Fam Zheng wrote:
> v3: Replace previous 13 with a simple return type conversion patch.
>     Drop RFC.
> 
> This carries out the mandate in the comment of qemu_set_fd_handler2 and removes
> fd_read_poll from the code base, because it will make the work easier to
> convert ppoll to epoll in main loop.  Also, the aio interface doesn't have a
> read poll callback, which means this conversion woule be necessary if we want
> to move iohandler fds from main loop to AioContext.
> 
> There are five users of the read poll callback now: qemu-nbd, l2tpv3, netmap,
> socket and tap, which are all covered.
> 
> Patch 1 adds a stub for qemu_set_fd_handler which will be referenced in coming
> patches.
> 
> Patch 2 converts qemu-nbd which compares two global numbers in the fd_read_poll
> callback.
> 
> Patches 3~6 converts the four net devices, all of which checks
> qemu_can_send_packet() in the callback.
> 
> Patch 7 and 8 finally removes the function.
> 
> The rest patches are cleanup for the unuseful return value of
> qemu_set_fd_handler.
> 
> Please review!

I looked at the first few patches.

The qemu-nbd.c conversion is good.  It finds locations where read_poll
state transitions happen and updates file descriptor monitoring there.

The l2tpv3 and netmap conversion throws away read_poll and introduces
problems instead.

Please look at the patches again and either:

1. Convert everything like you converted qemu-nbd.c.  This is a
   conservative approach and we can be confident that behavior is
   unchanged.

2. Convert more carefully, making sure that packets are actually
   dropped and QEMU does not spin on a readable fd.

I prefer #1 because it's easier to check that behavior is still correct.
It also minimizes queuing inside QEMU.

Stefan

[-- Attachment #2: Type: application/pgp-signature, Size: 473 bytes --]

  parent reply	other threads:[~2015-05-19 15:02 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-19 10:50 [Qemu-devel] [PATCH v3 00/13] main-loop: Get rid of fd_read_poll and qemu_set_fd_handler2 Fam Zheng
2015-05-19 10:50 ` [Qemu-devel] [PATCH v3 01/13] stubs: Add qemu_set_fd_handler Fam Zheng
2015-05-19 10:50 ` [Qemu-devel] [PATCH v3 02/13] qemu-nbd: Switch to qemu_set_fd_handler Fam Zheng
2015-05-19  6:02   ` Amit Shah
2015-05-19  6:09     ` Amit Shah
2015-05-19 14:39   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2015-05-19 10:51 ` [Qemu-devel] [PATCH v3 03/13] l2tpv3: Drop l2tpv3_can_send Fam Zheng
2015-05-19 14:48   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2015-05-26  6:52     ` Fam Zheng
2015-05-26  9:07       ` Stefan Hajnoczi
2015-05-19 10:51 ` [Qemu-devel] [PATCH v3 04/13] netmap: Drop netmap_can_send Fam Zheng
2015-05-19 14:54   ` Stefan Hajnoczi
2015-05-25  3:51     ` Fam Zheng
2015-05-26  9:18       ` Stefan Hajnoczi
2015-05-27  7:24         ` Fam Zheng
2015-06-02 16:24           ` Stefan Hajnoczi
2015-05-19 10:51 ` [Qemu-devel] [PATCH v3 05/13] net/socket: Drop net_socket_can_send Fam Zheng
2015-05-19 10:51 ` [Qemu-devel] [PATCH v3 06/13] tap: Drop tap_can_send Fam Zheng
2015-06-02 16:21   ` Stefan Hajnoczi
2015-06-03  7:35     ` Fam Zheng
2015-05-19 10:51 ` [Qemu-devel] [PATCH v3 07/13] Change qemu_set_fd_handler2(..., NULL, ...) to qemu_set_fd_handler Fam Zheng
2015-05-19 10:51 ` [Qemu-devel] [PATCH v3 08/13] main-loop: Drop qemu_set_fd_handler2 Fam Zheng
2015-05-19 10:51 ` [Qemu-devel] [PATCH v3 09/13] alsaaudio: Remove unused error handling of qemu_set_fd_handler Fam Zheng
2015-05-19 10:51 ` [Qemu-devel] [PATCH v3 10/13] oss: " Fam Zheng
2015-05-19 10:51 ` [Qemu-devel] [PATCH v3 11/13] xen_backend: " Fam Zheng
2015-05-19 10:51 ` [Qemu-devel] [PATCH v3 12/13] event-notifier: Always return 0 for posix implementation Fam Zheng
2015-05-19 10:51 ` [Qemu-devel] [PATCH v3 13/13] iohandler: Change return type of qemu_set_fd_handler to "void" Fam Zheng
2015-05-19 15:02 ` Stefan Hajnoczi [this message]
2015-05-20  4:35   ` [Qemu-devel] [Qemu-block] [PATCH v3 00/13] main-loop: Get rid of fd_read_poll and qemu_set_fd_handler2 Fam Zheng
2015-05-20  6:26   ` Paolo Bonzini
2015-05-20  6:38     ` Fam Zheng
2015-05-20  7:39       ` [Qemu-devel] " Paolo Bonzini
2015-05-20  8:28         ` Stefan Hajnoczi

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=20150519150238.GK9338@stefanha-thinkpad.redhat.com \
    --to=stefanha@gmail.com \
    --cc=amit.shah@redhat.com \
    --cc=av1474@comtv.ru \
    --cc=famz@redhat.com \
    --cc=g.lettieri@iet.unipi.it \
    --cc=jasowang@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=rizzo@iet.unipi.it \
    --cc=stefanha@redhat.com \
    --cc=v.maffione@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.