lkml.org 
[lkml]   [2013]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 2/3 v2] Optimize CRC32C calculation with PCLMULQDQ instruction
From
Date
On Tue, 2013-02-26 at 17:54 +0800, Herbert Xu wrote:
> On Thu, Sep 27, 2012 at 03:44:22PM -0700, Tim Chen wrote:
> > This patch adds the crc_pcl function that calculates CRC32C checksum using the
> > PCLMULQDQ instruction on processors that support this feature. This will
> > provide speedup over using CRC32 instruction only.
> > The usage of PCLMULQDQ necessitate the invocation of kernel_fpu_begin and
> > kernel_fpu_end and incur some overhead. So the new crc_pcl function is only
> > invoked for buffer size of 512 bytes or more. Larger sized
> > buffers will expect to see greater speedup. This feature is best used coupled
> > with eager_fpu which reduces the kernel_fpu_begin/end overhead. For
> > buffer size of 1K the speedup is around 1.6x and for buffer size greater than
> > 4K, the speedup is around 3x compared to original implementation in crc32c-intel
> > module. Test was performed on Sandy Bridge based platform with constant frequency
> > set for cpu.
> >
> > A white paper detailing the algorithm can be found here:
> > http://download.intel.com/design/intarch/papers/323405.pdf
> >
> > Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com>

Acked.

BTW, Herbert, I've also sent you a patch a few days ago to update the
link to the whitepaper on the CRC32C algorithm in the code. Wonder if
you have received it. Thanks.

Tim



\
 
 \ /
  Last update: 2013-02-26 18:41    [W:0.082 / U:0.500 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site