ceph / dmclock

Code that implements the dmclock distributed quality of service algorithm. See "mClock: Handling Throughput Variability for Hypervisor IO Scheduling" by Gulati, Merchant, and Varman.
Other
89 stars 55 forks source link

DNM: dynamic client info testing issues, root cause not yet determined #57

Closed ivancich closed 3 years ago

ivancich commented 6 years ago

For reasons not yet determined, the dmclock_server_pull.dynamic_cli_info_f unit test fails when run under valgrind. The counts do not come out as expected. Wondering if it is the max operation between calculated tag and current time....

Also, fix some gtest testing messaging to be more accurate.

Signed-off-by: J. Eric Ivancich ivancich@redhat.com

ivancich commented 6 years ago

valgrind test/dmclock-tests --gtest_filter="dmclock_server_pull.dynamic_cli_info_f" ==14685== Memcheck, a memory error detector ==14685== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==14685== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==14685== Command: test/dmclock-tests --gtest_filter=dmclock_server_pull.dynamic_cli_info_f ==14685== Running main() from gtest_main.cc Note: Google Test filter = dmclock_server_pull.dynamic_cli_info_f [==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from dmclock_server_pull [ RUN ] dmclock_server_pull.dynamic_cli_info_f /home2/ivancich/dmclock/simulation/test/test_dmclock_server.cc:805: Failure Value of: c1_count Actual: 1 Expected: 2 before: one-third of requests should have come from first client /home2/ivancich/dmclock/simulation/test/test_dmclock_server.cc:807: Failure Value of: c2_count Actual: 5 Expected: 4 before: two-thirds of requests should have come from second client /home2/ivancich/dmclock/simulation/test/test_dmclock_server.cc:837: Failure Value of: c1_count Actual: 4 Expected: 6 after: three-fourths of requests should have come from first client /home2/ivancich/dmclock/simulation/test/test_dmclock_server.cc:839: Failure Value of: c2_count Actual: 4 Expected: 2 after: one-fourth of requests should have come from second client [ FAILED ] dmclock_server_pull.dynamic_cli_info_f (1198 ms) [----------] 1 test from dmclock_server_pull (1203 ms total)

[----------] Global test environment tear-down [==========] 1 test from 1 test case ran. (1224 ms total) [ PASSED ] 0 tests. [ FAILED ] 1 test, listed below: [ FAILED ] dmclock_server_pull.dynamic_cli_info_f

1 FAILED TEST ==14685== ==14685== HEAP SUMMARY: ==14685== in use at exit: 0 bytes in 0 blocks ==14685== total heap usage: 597 allocs, 597 frees, 153,944 bytes allocated ==14685== ==14685== All heap blocks were freed -- no leaks are possible ==14685== ==14685== For counts of detected and suppressed errors, rerun with: -v ==14685== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

tchaikov commented 3 years ago

@ivancich i think #88 should fix the valgrind issue.

tchaikov commented 3 years ago

superseded by #88