From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55184) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ayR1g-0003CP-Ch for qemu-devel@nongnu.org; Thu, 05 May 2016 17:41:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ayR1U-0001ix-LS for qemu-devel@nongnu.org; Thu, 05 May 2016 17:41:34 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:41501) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ayR1S-0001eu-69 for qemu-devel@nongnu.org; Thu, 05 May 2016 17:41:28 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id A772920B66 for ; Thu, 5 May 2016 17:41:13 -0400 (EDT) Date: Thu, 5 May 2016 17:41:13 -0400 From: "Emilio G. Cota" Message-ID: <20160505214113.GA25355@flamenco> References: <1461987197-31264-1-git-send-email-cota@braap.org> <1461987197-31264-14-git-send-email-cota@braap.org> <87twifr3ss.fsf@linaro.org> <20160503172613.GA27503@flamenco> <5c2f2baa-93e8-22c5-a48b-1e5c85b17676@twiddle.net> <20160504153620.GA2015@flamenco> <9ba9c5ef-81e0-2aac-b41a-70b0af571627@twiddle.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9ba9c5ef-81e0-2aac-b41a-70b0af571627@twiddle.net> Subject: Re: [Qemu-devel] [PATCH v4 13/14] tb hash: track translated blocks with qht List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson Cc: Alex =?iso-8859-1?Q?Benn=E9e?= , QEMU Developers , MTTCG Devel , Paolo Bonzini , Peter Crosthwaite , Sergey Fedorov On Wed, May 04, 2016 at 07:22:16 -1000, Richard Henderson wrote: > On 05/04/2016 05:36 AM, Emilio G. Cota wrote: > >BTW in the last couple of days I did some more work beyond v4: > > > >- Added a benchmark (not a correctness test) to measure parallel > > performance of QHT (recall that test/qht-test is sequential.) > > > >- Added support for concurrent insertions as long as they're not to the > > same bucket, thus getting rid of the "external lock" requirement. > > This is not really needed for MTTCG because all insertions are supposed > > to be serialized by tb_lock; however, the feature (1) has no negative > > performance impact (just adds an unlikely() branch after lock acquisition > > on insertions/removals) and (2) could be useful for future (parallel) > > users of qht. > > > >Should I send this work as follow-up patches to v4 to ease review, or > >should I send a v5 with them merged in? > > Let's handle these as follow-on, since we've already got multiple R-b tags for v4. OK, will submit the modifications next week. BTW Benchmarking with the new test is giving me some interesting results. For instance, I'm measuring a 5% lookup latency reduction (single-threaded throughput goes from 45.84 to 48.41 M lookups/s) if I remove support in qht for MRU promotions. This is tempting me to just kill the feature, since resizing works very well. And it would save ~90 lines of code. Is anyone against this? Thanks, Emilio