From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57245) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XN0Fr-0005cu-3r for qemu-devel@nongnu.org; Thu, 28 Aug 2014 10:00:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XN0Fl-0007QT-FG for qemu-devel@nongnu.org; Thu, 28 Aug 2014 10:00:46 -0400 Received: from mail-we0-x22e.google.com ([2a00:1450:400c:c03::22e]:61906) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XN0Fl-0007QJ-8c for qemu-devel@nongnu.org; Thu, 28 Aug 2014 10:00:41 -0400 Received: by mail-we0-f174.google.com with SMTP id u57so812796wes.5 for ; Thu, 28 Aug 2014 07:00:40 -0700 (PDT) Date: Thu, 28 Aug 2014 15:00:36 +0100 From: Stefan Hajnoczi Message-ID: <20140828140036.GB21702@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="eJnRUKwClWJh1Khz" 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 --eJnRUKwClWJh1Khz 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(-) Squashed your fix for Patch 1. Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan --eJnRUKwClWJh1Khz Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJT/zYEAAoJEJykq7OBq3PI7dwH/jP8TP06zuwhtHcIbyOxtNrP zpkgSrAelTGBLzqB04iHwjvkl+0n4Ty3Vuq5pZyZj/j1vNjrQT/C48I11By/HbZq +TKVoBa6y2htPQhzqyw4GRARBuoTpzQhSRsC7ueK5a0XziNIQeJuDXjK9MRz8hIA Nd2b0DPv6P9KXKtUxWGzO78bRgiVtBX4NBXItlrXbeQnOUef7TmxMwzdPo7Ao2cO kiAVKqNE8NF1oXVhI3RnM+X0GiBA5E1noN6jddgldmidVvnEF+rV7sgb4rLkHFBo lW/nV6qfIIS1pa5HiyxBctC3BQm4qnlSBsbb5O8nVhz1lrxOtV1E3TDQlzMq11M= =x760 -----END PGP SIGNATURE----- --eJnRUKwClWJh1Khz--