[QUESTION - FYI] Vectorized CRC calculation

From: Indrek Kruusa
Date: Tue Jan 18 2005 - 12:41:41 EST


Hi!
First, sorry about the so-so topic for the kernel developers...but still there are such things inside :)
Currently I am investigating how "they" divide those polynomials and which possibilities exists to use SIMD for such calculations. I have found several papers about how to do it with Altivec and my question is: does anybody knows about efforts to use Altivec for CRC calculations here? Topic itself is quite old...
Or is there just any other ongoing developments which implements for example permute/shuffle instructions (Altivec: vperm/SSE2: pshufd) for table lookups?

One more question: is there PCI/PCIe cards (eg. router) which implements Layer 3(-4) in hardware and which are possible to use as "hardware net accelerator"?

thanks,
Indrek


Links
-------

Most latest updated C code CRC calculation I have found
http://lxr.mozilla.org/seamonkey/source/modules/zlib/src/crc32.c


"TCP/IP checksum vectorization using AltiVec"
http://www.ibm.com/technology/power/newsletter/october2004/files/web.pdf

"Altivec extension to powerpc accelerates media processing" (includes hints for table lookup code)
http://ccrc.wustl.edu/~jefritts/CS525_SP03/readings/altivec.pdf

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/