Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
3
-
9223372036854775807
Description
In our production, we can get more bcount with crc32c crypto alg, but the test program report really bad bandwidth of it as following (with debug patch):
[42080.712841] bcount=1942, buf_len=1048576, j_start=4338031978, j_end=4338032978, jiffies_to_msecs(end - start):1000
[42080.712843] Crypto hash algorithm adler32 speed = 1941 MB/s
[42081.712632] bcount=10633, buf_len=1048576, j_start=4338032978, j_end=4338033978, jiffies_to_msecs(end - start):1000
[42081.712634] Crypto hash algorithm crc32 speed = 2440 MB/s
[42082.714242] bcount=462, buf_len=1048576, j_start=4338033978, j_end=4338034979, jiffies_to_msecs(end - start):1001
[42082.714244] Crypto hash algorithm md5 speed = 461 MB/s
[42083.713626] bcount=693, buf_len=1048576, j_start=4338034979, j_end=4338035979, jiffies_to_msecs(end - start):1000
[42083.713628] Crypto hash algorithm sha1 speed = 692 MB/s
[42084.715960] bcount=282, buf_len=1048576, j_start=4338035979, j_end=4338036981, jiffies_to_msecs(end - start):1002
[42084.715963] Crypto hash algorithm sha256 speed = 281 MB/s
[42085.716777] bcount=390, buf_len=1048576, j_start=4338036981, j_end=4338037982, jiffies_to_msecs(end - start):1001
[42085.716779] Crypto hash algorithm sha384 speed = 389 MB/s
[42086.717483] bcount=390, buf_len=1048576, j_start=4338037982, j_end=4338038983, jiffies_to_msecs(end - start):1001
[42086.717485] Crypto hash algorithm sha512 speed = 389 MB/s
[42087.717192] bcount=12562, buf_len=1048576, j_start=4338038983, j_end=4338039983, jiffies_to_msecs(end - start):1000
[42087.717194] Crypto hash algorithm crc32c speed = 273 MB/s
That's because bcount and buf_len are both int, and no force convert in the caculation code:
tmp = ((bcount * buf_len / jiffies_to_msecs(end - start)) *
1000) / (1024 * 1024);