1/11/13 12:08 AM, Tim Chen пишет: > On Thu, 2013-01-10 at 23:26 +0400, Alexander Boyko wrote: >> 1/10/13 9:54 PM, Tim Chen пишет: >>> On Thu, 2013-01-10 at 18:54 +0400, Alexander Boyko wrote: >>>> From: Alexander Boyko <alexander_boyko@xxxxxxxxxxx> >>>> >>>> This patch adds crc32 algorithms to shash crypto api. One is wrapper to >>>> gerneric crc32_le function. Second is crc32 pclmulqdq implementation. It >>>> use hardware provided PCLMULQDQ instruction to accelerate the CRC32 disposal. >>>> This instruction present from Intel Westmere and AMD Bulldozer CPUs. >>>> >>>> For intel core i5 I got 450MB/s for table implementation and 2100MB/s >>>> for pclmulqdq implementation ( >>> Alexander, >>> >>> Wonder if you have a chance to test performance of our PCLMULQDQ >>> implementation for crc32c that's in the current code (see >>> crc32c-pcl-intel-asm_64.asm). The throughput will probably be comparable >>> with your implementation. >>> >>> Tim >>> >>> >>> >> I have no chance to test crc32c pclmul, but I tested previous crc32c >> implementation on crc32 instruction, the speed was about 2500 MB/s. So, >> I think, the newest version should be faster. > It will be troublesome to maintain two separate versions of PCLMUL > crc32c code. So we should find out if there's performance benefit of > your PCLMUL code over the one in the codebase. Testing should be > straight forward by enabling the CRYPTO_CRC32C_INTEL option in kernel > and inserting the crc32c-intel module. > > You may also want to add check in your glue code for support of the > PCLMUL feature before calling the pclmul version. You probably also > don't want to use this feature if the data size is small, as > kernel_fpu_begin and kernel_fpu_end takes significant time. In that > case, using the crc32c hw instructions in a loop is faster (see > crc32c-intel_glue.c). > > Tim > Sorry, may be I was miss understood, but I am trying to add CRC32 pclmul, not CRC32C. They use different polynomial. -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html