Skip site navigation (1)Skip section navigation (2)
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>