Date: Fri, 14 Feb 2014 15:26:52 +0100 From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: freebsd-security@FreeBSD.org, arch@FreeBSD.org Subject: Re: CFR: unifing sha256 userland/kernel implementation... Message-ID: <20140214142652.GA1661@garage.freebsd.pl> In-Reply-To: <20140212003907.GM34851@funkthat.com> References: <20140211185639.GK34851@funkthat.com> <20140212003907.GM34851@funkthat.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--huq684BweRXVnRxX Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Feb 11, 2014 at 04:39:07PM -0800, John-Mark Gurney wrote: > John-Mark Gurney wrote this message on Tue, Feb 11, 2014 at 10:56 -0800: > > I did some performance testing on sha256, and found that the libmd > > version is significantly faster, ~20%, than the kernel version. Even > > if you enable SHA2_UNROLL_TRANSFORM (which isn't the default), the > > version in libmd is still faster. > >=20 > > So, this patch moves libmd's sha256c.c and sha256.h into the kernel, > > and adapts the userland to pull the version from the kernel. This > > change removes sha256 from the existing sha2.c file, and does some > > minor cleanup of types in sha2. > >=20 > > I have tested this w/ ZFS using sha256 checksums, and a ZFS made > > pre-patch is read fine by a kernel post patch. I have also run > > the tests in lib/libmd and they all pass fine. Passes > > buildworld/buildkernel/installkernel/reboot/installworld/reboot/test. > >=20 > > Patch: > > https://www.funkthat.com/~jmg/sha256.kern.patch > >=20 > > Following stats are in seconds to digest 100000 10000-byte blocks, > > calculated using sha256 -t: > > $ ministat soft.times kernsoft.times=20 > > x soft.times > > + kernsoft.times > > +----------------------------------------------------------------------= --------+ > > |x xx xx +++ + = +| > > | |___________AM_________| |_______M_____A______________| = | > > +----------------------------------------------------------------------= --------+ > > N Min Max Median Avg St= ddev > > x 5 6.775387 8.279581 7.848128 7.792094 0.6091= 2664 > > + 5 8.997429 10.768921 9.090787 9.4359144 0.7504= 0822 > > Difference at 95.0% confidence > > 1.64382 +/- 0.99674 > > 21.096% +/- 12.7917% > > (Student's t, pooled s =3D 0.683428) > >=20 > > This is in preperation of bringing in an SSE4 accelerated version of > > sha256 (for both userland and kernel) that sees a 2x performance > > increase. I can't wait:) --=20 Pawel Jakub Dawidek http://www.wheelsystems.com FreeBSD committer http://www.FreeBSD.org Am I Evil? Yes, I Am! http://mobter.com --huq684BweRXVnRxX Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (FreeBSD) iEYEARECAAYFAlL+J6wACgkQForvXbEpPzQndgCglshTIuytaOOPgOPHPoGBE9D5 kHcAoNRC15/8Gk2aUD+6AtD7akEr/8ng =IhpC -----END PGP SIGNATURE----- --huq684BweRXVnRxX--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140214142652.GA1661>