Alexey Serbin has uploaded this change for review. (
http://gerrit.cloudera.org:8080/16937
Change subject: [util] extra test for MaintenanceManager
......................................................................
[util] extra test for MaintenanceManager
This patch adds a new test for MaintenanceManager to exercise scheduling
and performing many maintenance operations. In particular, the new test
scenario targets patch [1] that reducing lock contention in
MaintenanceManager::LaunchOp().
This new test scenario produced the following results when running in
RELEASE mode without and with patch [1]:
Before [1]:
spent 5369 milliseconds to process 1000 operations
After [1]:
spent 5308 milliseconds to process 1000 operations
In addition, "perf stat -r 10" and "perf stat -e 'sched:sched_*'"
reported the following:
Before [1]:
Performance counter stats for './maintenance_manager-test
--gtest_filter=*ManyOperationsHeavyUp
dateStats*' (10 runs):
6055.786042 task-clock # 0.997 CPUs utilized
( +- 0.07% )
5,900 context-switches # 0.974 K/sec
( +- 0.95% )
430 cpu-migrations # 0.071 K/sec
( +- 30.11% )
7,023 page-faults # 0.001 M/sec
( +- 0.93% )
19,665,826,555 cycles # 3.247 GHz
( +- 0.06% )
24,194,472,924 instructions # 1.23 insns per cycle
( +- 0.08% )
4,673,919,633 branches # 771.811 M/sec
( +- 0.08% )
4,388,734 branch-misses # 0.09% of all branches
( +- 2.42% )
4,362 sched:sched_wakeup
( +- 4.38% )
968 sched:sched_switch
( +- 21.21% )
803 sched:sched_migrate_task
( +- 18.48% )
1,189 sched:sched_stat_wait
( +- 22.66% )
4,360 sched:sched_stat_sleep
( +- 4.38% )
12,268 sched:sched_stat_runtime
( +- 2.85% )
========================================================================
After [1]:
Performance counter stats for './maintenance_manager-test
--gtest_filter=*ManyOperationsHeavyUp
dateStats*' (10 runs):
6018.328330 task-clock # 0.991 CPUs utilized
( +- 0.05% )
2,216 context-switches # 0.368 K/sec
( +- 0.14% )
18 cpu-migrations # 0.003 K/sec
( +- 4.30% )
7,136 page-faults # 0.001 M/sec
( +- 0.35% )
19,622,200,306 cycles # 3.260 GHz
( +- 0.15% )
24,223,357,126 instructions # 1.23 insns per cycle
( +- 0.17% )
4,682,684,506 branches # 778.071 M/sec
( +- 0.17% )
3,618,985 branch-misses # 0.08% of all branches
( +- 2.16% )
1,035 sched:sched_wakeup
( +- 0.18% )
1 sched:sched_switch
( +- 45.94% )
29 sched:sched_migrate_task
( +- 2.14% )
24 sched:sched_stat_wait
( +- 12.13% )
1,033 sched:sched_stat_sleep
( +- 0.16% )
8,269 sched:sched_stat_runtime
( +- 0.13% )
========================================================================
[1] https://gerrit.cloudera.org/#/c/16934/
Change-Id: Ia9e71b213583c000d4809dcfc885c1d31b3bb9d5
---
M src/kudu/util/maintenance_manager-test.cc
1 file changed, 282 insertions(+), 161 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/37/16937/1
--
To view, visit http://gerrit.cloudera.org:8080/16937
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia9e71b213583c000d4809dcfc885c1d31b3bb9d5
Gerrit-Change-Number: 16937
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <[email protected]>