diff options
author | Sage Weil <sage@inktank.com> | 2013-10-16 10:58:31 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-10-16 10:58:31 -0700 |
commit | eafdc92fc9d3872b1174b1a9c2e839680154aa84 (patch) | |
tree | 1e6e983b845f4ec19a7870125560c95109dc5d6e | |
parent | c5cdf4ec607b911ad900fa6a7e95da3ab4d1abe5 (diff) | |
download | ceph-eafdc92fc9d3872b1174b1a9c2e839680154aa84.tar.gz |
common/buffer: behave when cached crc stats don't start at 0
In particular, this helps when we set CEPH_BUFFER_TRACK=true
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r-- | src/test/bufferlist.cc | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/src/test/bufferlist.cc b/src/test/bufferlist.cc index 7fdc4883e9b..8b6ca269234 100644 --- a/src/test/bufferlist.cc +++ b/src/test/bufferlist.cc @@ -1689,6 +1689,9 @@ TEST(BufferList, crc32c_append_perf) { // track usage of cached crcs buffer::track_cached_crc(true); + int base_cached = buffer::get_cached_crc(); + int base_cached_adjusted = buffer::get_cached_crc_adjusted(); + bufferlist bla; bla.push_back(a); bufferlist blb; @@ -1701,7 +1704,7 @@ TEST(BufferList, crc32c_append_perf) { std::cout << "a.crc32c(0) = " << r << " at " << rate << " MB/sec" << std::endl; ASSERT_EQ(r, 1138817026u); } - assert(buffer::get_cached_crc() == 0); + assert(buffer::get_cached_crc() == 0 + base_cached); { utime_t start = ceph_clock_now(NULL); uint32_t r = bla.crc32c(0); @@ -1710,7 +1713,7 @@ TEST(BufferList, crc32c_append_perf) { std::cout << "a.crc32c(0) (again) = " << r << " at " << rate << " MB/sec" << std::endl; ASSERT_EQ(r, 1138817026u); } - assert(buffer::get_cached_crc() == 1); + assert(buffer::get_cached_crc() == 1 + base_cached); { utime_t start = ceph_clock_now(NULL); @@ -1720,8 +1723,8 @@ TEST(BufferList, crc32c_append_perf) { std::cout << "a.crc32c(5) = " << r << " at " << rate << " MB/sec" << std::endl; ASSERT_EQ(r, 3239494520u); } - assert(buffer::get_cached_crc() == 1); - assert(buffer::get_cached_crc_adjusted() == 1); + assert(buffer::get_cached_crc() == 1 + base_cached); + assert(buffer::get_cached_crc_adjusted() == 1 + base_cached_adjusted); { utime_t start = ceph_clock_now(NULL); uint32_t r = bla.crc32c(5); @@ -1730,8 +1733,8 @@ TEST(BufferList, crc32c_append_perf) { std::cout << "a.crc32c(5) (again) = " << r << " at " << rate << " MB/sec" << std::endl; ASSERT_EQ(r, 3239494520u); } - assert(buffer::get_cached_crc() == 1); - assert(buffer::get_cached_crc_adjusted() == 2); + assert(buffer::get_cached_crc() == 1 + base_cached); + assert(buffer::get_cached_crc_adjusted() == 2 + base_cached_adjusted); { utime_t start = ceph_clock_now(NULL); @@ -1741,7 +1744,7 @@ TEST(BufferList, crc32c_append_perf) { std::cout << "b.crc32c(0) = " << r << " at " << rate << " MB/sec" << std::endl; ASSERT_EQ(r, 2481791210u); } - assert(buffer::get_cached_crc() == 1); + assert(buffer::get_cached_crc() == 1 + base_cached); { utime_t start = ceph_clock_now(NULL); uint32_t r = blb.crc32c(0); @@ -1750,7 +1753,7 @@ TEST(BufferList, crc32c_append_perf) { std::cout << "b.crc32c(0) (again)= " << r << " at " << rate << " MB/sec" << std::endl; ASSERT_EQ(r, 2481791210u); } - assert(buffer::get_cached_crc() == 2); + assert(buffer::get_cached_crc() == 2 + base_cached); bufferlist ab; ab.push_back(a); @@ -1763,8 +1766,8 @@ TEST(BufferList, crc32c_append_perf) { std::cout << "ab.crc32c(0) = " << r << " at " << rate << " MB/sec" << std::endl; ASSERT_EQ(r, 2988268779u); } - assert(buffer::get_cached_crc() == 3); - assert(buffer::get_cached_crc_adjusted() == 3); + assert(buffer::get_cached_crc() == 3 + base_cached); + assert(buffer::get_cached_crc_adjusted() == 3 + base_cached_adjusted); bufferlist ac; ac.push_back(a); ac.push_back(c); @@ -1776,8 +1779,8 @@ TEST(BufferList, crc32c_append_perf) { std::cout << "ac.crc32c(0) = " << r << " at " << rate << " MB/sec" << std::endl; ASSERT_EQ(r, 2988268779u); } - assert(buffer::get_cached_crc() == 4); - assert(buffer::get_cached_crc_adjusted() == 3); + assert(buffer::get_cached_crc() == 4 + base_cached); + assert(buffer::get_cached_crc_adjusted() == 3 + base_cached_adjusted); bufferlist ba; ba.push_back(b); @@ -1790,8 +1793,8 @@ TEST(BufferList, crc32c_append_perf) { std::cout << "ba.crc32c(0) = " << r << " at " << rate << " MB/sec" << std::endl; ASSERT_EQ(r, 169240695u); } - assert(buffer::get_cached_crc() == 5); - assert(buffer::get_cached_crc_adjusted() == 4); + assert(buffer::get_cached_crc() == 5 + base_cached); + assert(buffer::get_cached_crc_adjusted() == 4 + base_cached_adjusted); { utime_t start = ceph_clock_now(NULL); uint32_t r = ba.crc32c(5); @@ -1800,8 +1803,8 @@ TEST(BufferList, crc32c_append_perf) { std::cout << "ba.crc32c(5) = " << r << " at " << rate << " MB/sec" << std::endl; ASSERT_EQ(r, 1265464778u); } - assert(buffer::get_cached_crc() == 5); - assert(buffer::get_cached_crc_adjusted() == 6); + assert(buffer::get_cached_crc() == 5 + base_cached); + assert(buffer::get_cached_crc_adjusted() == 6 + base_cached_adjusted); cout << "crc cache hits (same start) = " << buffer::get_cached_crc() << std::endl; cout << "crc cache hits (adjusted) = " << buffer::get_cached_crc_adjusted() << std::endl; |