[PATCH] lib/crc32: slice by 4 is more efficient than the default slice by 8 on Powerpc 8xx.

Scott Wood scottwood at freescale.com
Wed Nov 20 05:29:26 EST 2013


I don't think we should go littering the Kconfig with defaults for
various bits of hardware -- especially since you've already pointed out
non-8xx hardware that would also want this.  Put it in defconfig
instead, unless you can identify very broad classes of machines for
which SLICEBY4 is faster.

-Scott

On Tue, 2013-11-19 at 15:11 +0100, Joakim Tjernlund wrote:
> I found the same on MPC8321 long time ago(when 64 bits change went in), 
> the 32 bits were much faster. I guess the "smaller"
> CPUs cannot handle the cache trashing these big tables impose, I didn't 
> look into the details though.
> So I think this is a good change for 8xx.
> 
> Acked-by: Joakim Tjernlund <joakim.tjernlund at transmode.se>
> 
> Christophe Leroy <christophe.leroy at c-s.fr> wrote on 2013/11/18 08:04:23:
> 
> > From: Christophe Leroy <christophe.leroy at c-s.fr>
> > To: Vitaly Bordug <vitb at kernel.crashing.org>, Marcelo Tosatti 
> <marcelo at kvack.org>, Joakim Tjernlund <joakim.tjernlund at transmode.se>, Bob 
> Pearson <rpearson at systemfabricworks.com>, 
> > Cc: linux-kernel at vger.kernel.org, linuxppc-dev at lists.ozlabs.org
> > Date: 2013/11/19 13:05
> > Subject: [PATCH] lib/crc32: slice by 4 is more efficient than the 
> default slice by 8 on Powerpc 8xx.
> > 
> > On PPC_8xx, CRC32_SLICEBY4 is more efficient (almost twice) than 
> CRC32_SLICEBY8,
> > as shown below:
> > 
> > With CRC32_SLICEBY8:
> > [    1.109204] crc32: CRC_LE_BITS = 64, CRC_BE BITS = 64
> > [    1.114401] crc32: self tests passed, processed 225944 bytes in 
> 15118910 nsec
> > [    1.130655] crc32c: CRC_LE_BITS = 64
> > [    1.134235] crc32c: self tests passed, processed 225944 bytes in 
> 4479879 nsec
> > 
> > With CRC32_SLICEBY4:
> > [    1.097129] crc32: CRC_LE_BITS = 32, CRC_BE BITS = 32
> > [    1.101878] crc32: self tests passed, processed 225944 bytes in 
> 8616242 nsec
> > [    1.116298] crc32c: CRC_LE_BITS = 32
> > [    1.119607] crc32c: self tests passed, processed 225944 bytes in 
> 3289576 nsec
> > 
> > Signed-off-by: Christophe Leroy <christophe.leroy at c-s.fr>
> > 
> > Index: a/lib/Kconfig
> > ===================================================================
> > --- a/lib/Kconfig   (révision 5325)
> > +++ b/lib/Kconfig   (copie de travail)
> > @@ -102,6 +102,7 @@
> >  choice
> >     prompt "CRC32 implementation"
> >     depends on CRC32
> > +   default CRC32_SLICEBY4 if PPC_8xx
> >     default CRC32_SLICEBY8
> >     help
> >       This option allows a kernel builder to override the default choice
> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
> 
> 





More information about the Linuxppc-dev mailing list