From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/3712 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: Thinking about release Date: Tue, 23 Jul 2013 23:48:44 -0400 Message-ID: <20130724034843.GP3249@brightrain.aerifal.cx> References: <20130711033754.GL29800@brightrain.aerifal.cx> <20130711124613.GO29800@brightrain.aerifal.cx> <20130712031615.GS29800@brightrain.aerifal.cx> <20130712041609.GV29800@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1374637739 2492 80.91.229.3 (24 Jul 2013 03:48:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 24 Jul 2013 03:48:59 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-3716-gllmg-musl=m.gmane.org@lists.openwall.com Wed Jul 24 05:49:00 2013 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1V1q4R-0001LE-5b for gllmg-musl@plane.gmane.org; Wed, 24 Jul 2013 05:48:59 +0200 Original-Received: (qmail 32491 invoked by uid 550); 24 Jul 2013 03:48:57 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 32483 invoked from network); 24 Jul 2013 03:48:57 -0000 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Xref: news.gmane.org gmane.linux.lib.musl.general:3712 Archived-At: On Wed, Jul 24, 2013 at 01:34:07PM +1200, Andre Renaud wrote: > Hi Rich, > > On 12 July 2013 16:16, Rich Felker wrote: > > By the way, I also did some tests with misaligning the src/dest with > > respect to cache lines. and the timing did change, but not in any way > > I could make sense of... > > > > It may turn out to be that the issues are sufficiently complex that we > > won't get ideal performance without either copying the BSD code you > > suggested or fully understanding what it's doing, and other ARM > > performance issues, and developing something new based on that > > understanding... In that case copying/adapting the BSD code might turn > > out to be the right solution for now. > > What was the final decision on this? The last version (with mixed > inline assembler/C) is (I believe) relatively readable, and appears to > be correct. It also compiles on all the available platforms (ie: > armv4+). Can this version be accepted? It looks buggy as-is; as far as I can tell, it will crash if src/dest are aligned with respect to each other but not aligned mod 4, i.e. the code starts out copying word-at-a-time rather than byte-at-a-time. I think the C version would be acceptable if we get the bugs fixed and test it well, but I'd also like to still keep the asm under consideration. There are lots of cases not covered by the C version, like misaligned copies (important for strings, not for much else). Do you think these cases are important? Rich