From owner-freebsd-current Thu Feb 15 20:58:12 2001 Delivered-To: freebsd-current@freebsd.org Received: from netau1.alcanet.com.au (ntp.alcanet.com.au [203.62.196.27]) by hub.freebsd.org (Postfix) with ESMTP id 00E0737B401 for ; Thu, 15 Feb 2001 20:58:07 -0800 (PST) Received: from mfg1.cim.alcatel.com.au (mfg1.cim.alcatel.com.au [139.188.23.1]) by netau1.alcanet.com.au (8.9.3 (PHNE_22672)/8.9.3) with ESMTP id PAA15060; Fri, 16 Feb 2001 15:58:03 +1100 (EDT) Received: from gsmx07.alcatel.com.au by cim.alcatel.com.au (PMDF V5.2-32 #37641) with ESMTP id <01K06METVZ5SI8THNE@cim.alcatel.com.au>; Fri, 16 Feb 2001 15:57:48 +1100 Received: (from jeremyp@localhost) by gsmx07.alcatel.com.au (8.11.1/8.11.1) id f1G4vvc70972; Fri, 16 Feb 2001 15:57:57 +1100 (EST envelope-from jeremyp) Content-return: prohibited Date: Fri, 16 Feb 2001 15:57:57 +1100 From: Peter Jeremy Subject: Re: OpenSSL ASM patch In-reply-to: <20010211130243.V3274@fw.wintelcom.net>; from bright@wintelcom.net on Sun, Feb 11, 2001 at 01:02:43PM -0800 To: Alfred Perlstein Cc: Kris Kennaway , current@FreeBSD.ORG Mail-followup-to: Alfred Perlstein , Kris Kennaway , current@FreeBSD.ORG Message-id: <20010216155756.A70642@gsmx07.alcatel.com.au> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-disposition: inline User-Agent: Mutt/1.2.5i References: <20010211094946.A51308@mollari.cthul.hu> <20010211122802.A78975@mollari.cthul.hu> <20010211124707.S3274@fw.wintelcom.net> <20010211125042.B79375@mollari.cthul.hu> <20010211130243.V3274@fw.wintelcom.net> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On 2001-Feb-11 13:02:43 -0800, Alfred Perlstein wrote: >* Kris Kennaway [010211 12:52] wrote: >> On Sun, Feb 11, 2001 at 12:47:07PM -0800, Alfred Perlstein wrote: >> > Is it possible to have multiple ASM cores and use the appropriate >> > routines? Or must it all be choosen at compile time? >> >> It's done at compile-time. > >bah, lame. :( AFAIK, Solaris does this by (very roughly) having /usr/lib/libfoo.so depend on /usr/lib/machine/libfoo.so, where /usr/lib/machine is a symlink to the relevant set of architecture-specific libraries. The dynamic loading preferentially uses the machine-specific library. This means you get architecture-optimised routines with no additional overheads. I'm sure something similar would be possible with FreeBSD, but I don't have the expertise to actually implement it. I'm less certain how much of a win this would be in the general scheme of things: Apart from special cases (like OpenSSL), I don't think the libraries have a significant impact on overall performance. IMHO, the main market for this feature would be people who just do binary installs - if you're doing a buildworld, you can tune to your hardware[1]. If we wanted to just speed up OpenSSL on binary installs, we could have processor-optimised variants of libssl.* available as packages (tick the box that suits your processor if you want the optimised library). [1] I don't think there's a lot of `build once, install on lots of different hardware', though I could be wrong. Peter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message