From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754477Ab3KAQQ6 (ORCPT ); Fri, 1 Nov 2013 12:16:58 -0400 Received: from webmail.solarflare.com ([12.187.104.25]:47530 "EHLO webmail.solarflare.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752919Ab3KAQQ4 (ORCPT ); Fri, 1 Nov 2013 12:16:56 -0400 Message-ID: <1383322612.1737.6.camel@bwh-desktop.uk.level5networks.com> Subject: Re: [PATCH] x86: Run checksumming in parallel accross multiple alu's From: Ben Hutchings To: Neil Horman CC: Doug Ledford , Ingo Molnar , "Eric Dumazet" , , , David Laight Date: Fri, 1 Nov 2013 16:16:52 +0000 In-Reply-To: <20131101160802.GB8467@hmsreliant.think-freely.org> References: <201310300525.r9U5Pdqo014902@ib.usersys.redhat.com> <20131030110214.GA10220@localhost.localdomain> <52710B09.6090302@redhat.com> <20131031183003.GC25894@hmsreliant.think-freely.org> <1383320566.1737.0.camel@bwh-desktop.uk.level5networks.com> <20131101160802.GB8467@hmsreliant.think-freely.org> Organization: Solarflare Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.6.4 (3.6.4-3.fc18) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.17.20.137] X-TM-AS-Product-Ver: SMEX-10.0.0.1412-7.000.1014-20260.002 X-TM-AS-Result: No--21.381700-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 2013-11-01 at 12:08 -0400, Neil Horman wrote: > On Fri, Nov 01, 2013 at 03:42:46PM +0000, Ben Hutchings wrote: > > On Thu, 2013-10-31 at 14:30 -0400, Neil Horman wrote: > > [...] > > > It > > > functions, but unfortunately the performance lost to the completely broken > > > branch prediction that this inflicts makes it a non starter: > > [...] > > > > Conditional branches are no good but conditional moves might be worth a shot. > > > > Ben. > > > How would you suggest replacing the jumps in this case? I agree it would be > faster here, but I'm not sure how I would implement an increment using a single > conditional move. You can't, but it lets you use additional registers as carry flags. Whether there are enough registers and enough parallelism to cancel out the extra additions required, I don't know. Ben. -- Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.