From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41898) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XDEBv-0002Pz-UM for qemu-devel@nongnu.org; Fri, 01 Aug 2014 10:52:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XDEBm-0002AQ-Sy for qemu-devel@nongnu.org; Fri, 01 Aug 2014 10:52:19 -0400 Received: from mail-wi0-x22d.google.com ([2a00:1450:400c:c05::22d]:41264) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XDEBm-0002A4-Lc for qemu-devel@nongnu.org; Fri, 01 Aug 2014 10:52:10 -0400 Received: by mail-wi0-f173.google.com with SMTP id f8so1526982wiw.6 for ; Fri, 01 Aug 2014 07:52:09 -0700 (PDT) Date: Fri, 1 Aug 2014 15:52:05 +0100 From: Stefan Hajnoczi Message-ID: <20140801145205.GD11091@stefanha-thinkpad.redhat.com> References: <1404899590-24973-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="+B+y8wtTXqdUj1xM" Content-Disposition: inline In-Reply-To: <1404899590-24973-1-git-send-email-pbonzini@redhat.com> Subject: Re: [Qemu-devel] [PATCH for-2.2 00/10] AioContext cleanups and Win32 socket support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org --+B+y8wtTXqdUj1xM Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Jul 09, 2014 at 11:53:00AM +0200, Paolo Bonzini wrote: > This series simplifies heavily aio_poll by splitting it into three > phases: prepare (aio_compute_timeout), poll, dispatch. The resulting > code shares more logic between aio_poll and the GSource wrappers, > and makes it easier to add Win32 support for sockets. >=20 > Win32 support for sockets is a prerequisite for moving the NBD server > into the BlockDriverState's attached AioContext. It is done in the > final patch, based on earlier work from Or Goshen (from Intel). > I had to more or less rewrite it to fit the new framework, but you > can see parts of Or's work, as well as traces of aio-posix.c and > main-loop.c logic. >=20 > Tested with NBD boot under Wine. >=20 > Paolo >=20 > Paolo Bonzini (10): > AioContext: take bottom halves into account when computing aio_poll > timeout > aio-win32: Evaluate timers after handles > aio-win32: Factor out duplicate code into aio_dispatch_handlers > AioContext: run bottom halves after polling > AioContext: export and use aio_dispatch > test-aio: test timers on Windows too > aio-win32: add aio_set_dispatching optimization > AioContext: introduce aio_prepare > qemu-coroutine-io: fix for Win32 > aio-win32: add support for sockets >=20 > aio-posix.c | 58 ++++-------- > aio-win32.c | 262 +++++++++++++++++++++++++++++++++++++++-------= ------ > async.c | 39 +++++--- > block/Makefile.objs | 2 - > include/block/aio.h | 25 ++++- > nbd.c | 2 +- > qemu-coroutine-io.c | 4 +- > tests/test-aio.c | 48 +++------- > 8 files changed, 277 insertions(+), 163 deletions(-) I'm happy with this series except for my question about int vs int64_t types for nanosecond time values. --+B+y8wtTXqdUj1xM Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJT26mVAAoJEJykq7OBq3PI4X0H/jA5NCV9aFPCtqAW3zDHaoZG TILdEy2s+8cAmrGjL0m2rFc7TwLAryKP0DmB5r2FJ0AEQH21FXvH1N6vTRrXblLn ux7as/DHZxk1a3CTpHwmgoBwr9y9MZ3lzGM17uI79E/W80wV63xqDDuLuPIMFHOV ph1lloEaSiOclyxpPSxWCG953IPOjyHkjRzTli/wnzJN6lB2gPIMkWTejmKEkfgn 1e+bnbs1VY7oVJiiTQ9mVIRPbvf39qUlvatL2eiNgE7jOl2F+/bXerj6xHnVtZDT LiETnqguZ7zxOh2tJAGw6qzpiFQmaHX5xWPgimDsULIQMp+0dKHqhi0s1Tg1hbA= =8oTP -----END PGP SIGNATURE----- --+B+y8wtTXqdUj1xM--