From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56339) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XDFJI-0001oM-9s for qemu-devel@nongnu.org; Fri, 01 Aug 2014 12:04:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XDFJD-0002sw-OH for qemu-devel@nongnu.org; Fri, 01 Aug 2014 12:04:00 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59881) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XDFJD-0002sk-F4 for qemu-devel@nongnu.org; Fri, 01 Aug 2014 12:03:55 -0400 Date: Fri, 1 Aug 2014 17:03:47 +0100 From: Stefan Hajnoczi Message-ID: <20140801160347.GF7258@stefanha-thinkpad.redhat.com> References: <53D981C0.4030708@redhat.com> <53DA0940.2030207@redhat.com> <53DA6F20.3050200@redhat.com> <20140801131330.GE7258@stefanha-thinkpad.redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="VuQYccsttdhdIfIP" Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH 01/15] qemu coroutine: support bypass mode List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ming Lei Cc: Kevin Wolf , Peter Maydell , Fam Zheng , "Michael S. Tsirkin" , qemu-devel , Paolo Bonzini --VuQYccsttdhdIfIP Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Aug 01, 2014 at 10:52:55PM +0800, Ming Lei wrote: > On Fri, Aug 1, 2014 at 9:48 PM, Ming Lei wrote: > > On Fri, Aug 1, 2014 at 9:13 PM, Stefan Hajnoczi w= rote: > >> On Fri, Aug 01, 2014 at 10:54:02AM +0800, Ming Lei wrote: > >>> On Fri, Aug 1, 2014 at 12:30 AM, Paolo Bonzini = wrote: > >>> > Il 31/07/2014 18:13, Ming Lei ha scritto: > >>> >> Follows 'perf report' result on cycles event for with/without bypa= ss > >>> >> coroutine: > >>> >> > >>> >> http://pastebin.com/ae0vnQ6V > >>> >> > >>> >> From the profiling result, looks bdrv_co_do_preadv() is a bit slow > >>> >> without bypass coroutine. > >>> > > >>> > Yeah, I can count at least 3.3% time spent here: > >>> > > >>> > 0.87% bdrv_co_do_preadv > >>> > 0.79% bdrv_aligned_preadv > >>> > 0.71% qemu_coroutine_switch > >>> > 0.52% tracked_request_begin > >>> > 0.45% coroutine_swap > >>> > > >>> > Another ~3% wasted in malloc, etc. > >>> > >>> That should be related with coroutine and the BH in bdrv_co_do_rw(). > >>> In this post I didn't apply Stephan's coroutine resize patch which mi= ght > >>> decrease usage of malloc() for coroutine. > >> > >> Please rerun with "[PATCH v3 0/2] coroutine: dynamically scale pool > >> size". > > > > No problem, will do that. Actually in my last post with rfc, this patch= set > > was against your coroutine resize patches. > > > > I will provide the profile data tomorrow. >=20 > Please see below link for without bypass coroutine, and with > your coroutine resize patches(V3): >=20 > http://pastebin.com/10y00sir Thanks for sharing! Do you have the results (IOPS and perf report) for just the coroutine bypass (but not the other changes in this patch series)? Coroutine: 101k IOPS Bypass: ? IOPS Stefan --VuQYccsttdhdIfIP Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJT27pjAAoJEJykq7OBq3PI+ZEIALAnKxdSXlbLjdFHFHCZzGiF 4Xl2o2+4lZjyYs79pGOJ/i3Aqs3fwB60jER2Xr2jerGB/wR0cppwvbAe+hO407WF f2Yn/W08K142dfplSL00HJcsgBkUPcLlEHQQKamX0AqR6aAAI8PuB9BTLTEu7v2q AqC3jTdlTkcaf8R/4173RpRcABZjhrFg20T4YAG8IQGZOH+I9DexpDKzAfJCsXyV 7NDoO3YOLv2Ow9bzxGp96VGscr321c1vobI2rJuCC3K3uYeiTU7aYfET7p/8w+YD pOh0muJgsjy9DB02Q1eDtTfZ2dS7R0a5ZJIupCnkYmNznliOb7hR7xJ3pLpCqCY= =KdeL -----END PGP SIGNATURE----- --VuQYccsttdhdIfIP--