24.02.2015 20:57, Bruce Richardson ?????:
> +#define CRC32_ITERATIONS (1U << 16)
> This test takes almost no time at all, so maybe we want to do a few more
> iterations e.g. 2^18 - 2^20. 
Noted, I'll put (1U << 20).
>> +    printf("# CRC32 implementations equivalence test\n");
>> +    for (i = 0; i < CRC32_ITERATIONS; i++) {
>> +            /* Randomizing data_len of data set */
>> +            data_len = (size_t) (rte_rand() % sizeof(data64) + 1);
> I suggest parenthesis around the % operation for clarity.
Noted.
>> +            init_val = (uint32_t) rte_rand();
>> +
>> +            /* Fill the data set */
>> +            for (j = 0; j < CRC32_DWORDS; j++) {
>> +                    data64[j] = rte_rand();
>> +            }
> As a matter of style, we generally omit braces for single-statement loop 
> bodies.
Noted.
>> +
>> +            /* Calculate software CRC32 */
>> +            rte_hash_crc_set_alg(CRC32_SW);
>> +            hash_val = rte_hash_crc(data64, data_len, init_val);
>> +
>> +            /* Check against 4-byte-operand sse4.2 CRC32 if available */
>> +            rte_hash_crc_set_alg(CRC32_SSE42);
>> +            if (hash_val != rte_hash_crc(data64, data_len, init_val)) {
>> +                    res = -1;
> I think you need a print statement here, stating that the test failed, and
> why exactly it failed.
> Also, rather than setting res to -1, you can just do a print and break, and
> change "return res" below to "return i == CRC32_ITERATIONS ? 0 : -1", making
> use of the fact that you can check i to detect early termination on error.

Noted; then I suggest I'll print out test data which caused the break as
well. It might be handy for further investigation.

-- 
Sincerely,

Yerden Zhumabekov
State Technical Service
Astana, KZ

Reply via email to