From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/3766 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: Thinking about release Date: Sun, 28 Jul 2013 04:09:47 -0400 Message-ID: <20130728080947.GC4284@brightrain.aerifal.cx> References: <20130711124613.GO29800@brightrain.aerifal.cx> <20130712031615.GS29800@brightrain.aerifal.cx> <20130712041609.GV29800@brightrain.aerifal.cx> <20130724034843.GP3249@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 1374999003 28214 80.91.229.3 (28 Jul 2013 08:10:03 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 28 Jul 2013 08:10:03 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-3770-gllmg-musl=m.gmane.org@lists.openwall.com Sun Jul 28 10:10:05 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 1V3M3G-00049s-Gt for gllmg-musl@plane.gmane.org; Sun, 28 Jul 2013 10:10:02 +0200 Original-Received: (qmail 18379 invoked by uid 550); 28 Jul 2013 08:10:00 -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 18359 invoked from network); 28 Jul 2013 08:09:59 -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:3766 Archived-At: On Wed, Jul 24, 2013 at 04:40:16PM +1200, Andre Renaud wrote: > > 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? > > At the moment the mis-aligned copies perform terribly (18MB/s vs glibc > @ 100MB/s). However the existing C implementation in musl is no > different, so we're not degrading the current system. > > We're essentially missing the non-congruent copying stuff from the asm > code. I'll have a look at this and see if I can write a similar C > version. Sorry this hasn't been moving forward more quickly. I've been experimenting with various memcpys on ARM, and I've found: 1. Pure C code that performs comparably (only in the aligned case, so far) to the bionic asm and your inline-asm C version. 2. The prefetch stuff in your inline asm and the bionic version is apparently making it slower. With that removed from your C (basically, my inline asm version) it's 10% faster on the machine I'm running it on. So I feel like we still have a ways to go figuring out the right solution. I know, from one standpoint, it would be nice to have _something_ right now, but I don't want to commit one version only to decide next week it's wrong and throw it all out. Hopefully in the mean time people who are trying to use musl seriously on arm and running into performance problems can drop in the bionic asm or another implementation. Rich