summaryrefslogtreecommitdiff
path: root/crc
AgeCommit message (Collapse)Author
2014-10-14sha256: cast shift to uint64_tJens Axboe
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-10-14crc/test: fix potential div by zeroJens Axboe
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-09-27crc/test: add fnvJens Axboe
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-09-27Add fnv hashJens Axboe
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-09-27crc/test: if the checksum needs a _final(), do it in the loopJens Axboe
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-09-27Move murmur3 hash to crc/Jens Axboe
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-09-27crc/test: add jhashJens Axboe
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-09-27crc/test: fix alignmentJens Axboe
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-09-27Add murmurhash3Jens Axboe
And use it in bloom, add it to the crc tester as well. Signed-off-by: Jens Axboe <axboe@fb.com>
2014-09-26bloom: use independent hashesJens Axboe
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-09-23Checksumming updatesJens Axboe
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-07-25crc/test: a few more cleanups and code unificationsJens Axboe
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-07-25crc/test: cleanup and better precisionJens Axboe
Make sure we're a bit cache warm at least, and don't allocate, free, and randomize a buffer for each hash. Signed-off-by: Jens Axboe <axboe@fb.com>
2014-06-24Get the crctest results properly alignedJens Axboe
Before: md5: 534.03 MB/sec crc64: 392.31 MB/sec crc32: 352.36 MB/sec crc32c: 8225.43 MB/sec crc16: 384.46 MB/sec crc7: 386.79 MB/sec sha1: 381.15 MB/sec sha256: 186.47 MB/sec sha512: 303.18 MB/sec xxhash: 6329.90 MB/sec After: md5: 548.59 MB/sec crc64: 381.45 MB/sec crc32: 347.89 MB/sec crc32c: 8577.36 MB/sec crc16: 396.56 MB/sec crc7: 396.72 MB/sec sha1: 385.87 MB/sec sha256: 206.60 MB/sec sha512: 314.62 MB/sec xxhash: 6293.64 MB/sec Signed-off-by: Jens Axboe <axboe@fb.com>
2014-04-30crc/test.c: fix include of time.hDanny Al-Gaaf
Replace include of time.h with renamed fio_time.h to fix build. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de> Signed-off-by: Jens Axboe <axboe@fb.com>
2014-04-02crc: add test.h header to test.cJens Axboe
This way the static analyzers know that there's a reason for the exported function. Signed-off-by: Jens Axboe <axboe@fb.com>
2014-04-02Add missing crc/test.h fileJens Axboe
Commit 10aa136b forgot to add this file, unfortunately. Signed-off-by: Jens Axboe <axboe@fb.com>
2014-04-01Cleanup symbols that should be staticJens Axboe
Run analysis on symbols not used outside of their current file, turn them into statics. Signed-off-by: Jens Axboe <axboe@fb.com>
2014-03-21Pass -Wstrict-prototypes -Wold-style-definition, whitespaceCastor Fu
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-02-20xxhash: dos2unix'izeJens Axboe
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-02-20Add support for the Google xxhash checksumming functionJens Axboe
It's a lot faster than the other software defined ones, so will be a useful alternative for the cases where crc32c-intel isn't available. Signed-off-by: Jens Axboe <axboe@fb.com>
2014-02-07crc: add option to list possible crc typesJens Axboe
=help or =list will show them. Signed-off-by: Jens Axboe <axboe@fb.com>
2014-02-07crc: ensure we properly match test nameJens Axboe
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-02-07Add support for testing checksumming speedJens Axboe
fio --crctest will test all of them, --crctest=md5,crc32c will test md5 and crc32c, for example. Signed-off-by: Jens Axboe <axboe@fb.com>
2012-12-18Fixup CPUID for 32-bit x86Jens Axboe
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2012-12-09Add check for invariant TSC on x86 and use TSC is default clock if reliableJens Axboe
TSC is by far the fastest clock we can use. Check the CPUID bits for whether it is both constant rate AND synced across cores. If it is, we can use it as our default clock source. Fio will default to this clock source on x86 if no other clock source is specifically given with clocksource= in the job file. Signed-off-by: Jens Axboe <axboe@kernel.dk>
2012-02-29Rename crc functions to private namespaceJens Axboe
Apparently we overlap with some gtk (?) crc32() functions, causing ours to be called and subsequently crashing since the arguments aren't the same. Move everything to a fio_ protected namespace. Signed-off-by: Jens Axboe <axboe@kernel.dk>
2012-02-22Auto-detect whether to use hw assisted crc32cJens Axboe
Little point in separating the two. If the hardware assisted crypto is available, always use it. Signed-off-by: Jens Axboe <axboe@kernel.dk>
2012-02-09Fix a few other static code checker spotted "issues"Jens Axboe
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2011-09-30crc16: use void * as the argumentJens Axboe
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2011-01-19Get rid of shadow declarationsJens Axboe
Reported-by: Bruce Cran <bruce@cran.org.uk> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
2010-10-21A few fixes for 32-bit compilesJens Axboe
- Change the HAVE_SSE to HAVE_SSE4_2 and only provide it on x86-64. - Cast two values that otherwise cause the compiler to warn on 32-bit Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
2010-06-29crc32c-intel: replace SIGILL approach with cpuidJens Axboe
Some operating systems log illegal instructions, lets try and be a bit nicer and use cpuid to identify the presence of SSE4.2 which is needed to support the hw crc32c instruction. Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
2010-06-21Auto-detect missing hw support for crc32c and fallback to softwareJens Axboe
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
2009-08-09Add Linus' optimized sha1 hash for checksumJens Axboe
It does appear to be pretty fast. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-09-12Don't compile crc32c-intel on non-x86 platformsAaron Carroll
crc32c_intel() doesn't make sense on platforms without SSE, so alias it to crc32c() on such machines. Signed-off-by: Aaron Carroll <aaronc@gelato.unsw.edu.au> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-08-04Add intel hardware assisted crc32c supportJens Axboe
Not tested, since I don't have the hardware. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-06-11Add crc32c checksumJens Axboe
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-06-11crc32 is uint32_t, not unsigned longJens Axboe
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-05-30Move the lib/ stuff around a bitJens Axboe
And actually remember to commit the lib/ files... Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-05-30Make it work on opensolarisJens Axboe
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2007-07-30Move checksumming files to seperate directoryJens Axboe
Too many of them now, move them out-of-sight. They will rarely be modified anyway. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>