summaryrefslogtreecommitdiff
path: root/storage/xtradb/sync/sync0sync.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2016-02-16 12:06:16 +0100
committerSergei Golubchik <serg@mariadb.org>2016-02-16 12:06:16 +0100
commitd76eba6a6b7de3077487ff3e4e7fa0ef2a7a9b00 (patch)
tree8227fe96f1d5257f3fe53c01e344df010fbf96af /storage/xtradb/sync/sync0sync.cc
parent1e270d504d56cb015efe060b319e3a5b9bc6513f (diff)
downloadmariadb-git-d76eba6a6b7de3077487ff3e4e7fa0ef2a7a9b00.tar.gz
5.6.28-76.1
Diffstat (limited to 'storage/xtradb/sync/sync0sync.cc')
-rw-r--r--storage/xtradb/sync/sync0sync.cc61
1 files changed, 38 insertions, 23 deletions
diff --git a/storage/xtradb/sync/sync0sync.cc b/storage/xtradb/sync/sync0sync.cc
index d6a7f569b4a..7fc992bf972 100644
--- a/storage/xtradb/sync/sync0sync.cc
+++ b/storage/xtradb/sync/sync0sync.cc
@@ -1690,34 +1690,49 @@ sync_print_wait_info(
/*=================*/
FILE* file) /*!< in: file where to print */
{
+ // Sum counter values once
+ ib_int64_t mutex_spin_wait_count_val
+ = static_cast<ib_int64_t>(mutex_spin_wait_count);
+ ib_int64_t mutex_spin_round_count_val
+ = static_cast<ib_int64_t>(mutex_spin_round_count);
+ ib_int64_t mutex_os_wait_count_val
+ = static_cast<ib_int64_t>(mutex_os_wait_count);
+ ib_int64_t rw_s_spin_wait_count_val
+ = static_cast<ib_int64_t>(rw_lock_stats.rw_s_spin_wait_count);
+ ib_int64_t rw_s_spin_round_count_val
+ = static_cast<ib_int64_t>(rw_lock_stats.rw_s_spin_round_count);
+ ib_int64_t rw_s_os_wait_count_val
+ = static_cast<ib_int64_t>(rw_lock_stats.rw_s_os_wait_count);
+ ib_int64_t rw_x_spin_wait_count_val
+ = static_cast<ib_int64_t>(rw_lock_stats.rw_x_spin_wait_count);
+ ib_int64_t rw_x_spin_round_count_val
+ = static_cast<ib_int64_t>(rw_lock_stats.rw_x_spin_round_count);
+ ib_int64_t rw_x_os_wait_count_val
+ = static_cast<ib_int64_t>(rw_lock_stats.rw_x_os_wait_count);
+
fprintf(file,
- "Mutex spin waits " UINT64PF ", rounds " UINT64PF ", "
- "OS waits " UINT64PF "\n"
- "RW-shared spins " UINT64PF ", rounds " UINT64PF ", "
- "OS waits " UINT64PF "\n"
- "RW-excl spins " UINT64PF ", rounds " UINT64PF ", "
- "OS waits " UINT64PF "\n",
- (ib_uint64_t) mutex_spin_wait_count,
- (ib_uint64_t) mutex_spin_round_count,
- (ib_uint64_t) mutex_os_wait_count,
- (ib_uint64_t) rw_lock_stats.rw_s_spin_wait_count,
- (ib_uint64_t) rw_lock_stats.rw_s_spin_round_count,
- (ib_uint64_t) rw_lock_stats.rw_s_os_wait_count,
- (ib_uint64_t) rw_lock_stats.rw_x_spin_wait_count,
- (ib_uint64_t) rw_lock_stats.rw_x_spin_round_count,
- (ib_uint64_t) rw_lock_stats.rw_x_os_wait_count);
+ "Mutex spin waits " INT64PF ", rounds " INT64PF ", "
+ "OS waits " INT64PF "\n"
+ "RW-shared spins " INT64PF ", rounds " INT64PF ", "
+ "OS waits " INT64PF "\n"
+ "RW-excl spins " INT64PF ", rounds " INT64PF ", "
+ "OS waits " INT64PF "\n",
+ mutex_spin_wait_count_val, mutex_spin_round_count_val,
+ mutex_os_wait_count_val,
+ rw_s_spin_wait_count_val, rw_s_spin_round_count_val,
+ rw_s_os_wait_count_val,
+ rw_x_spin_wait_count_val, rw_x_spin_round_count_val,
+ rw_x_os_wait_count_val);
fprintf(file,
"Spin rounds per wait: %.2f mutex, %.2f RW-shared, "
"%.2f RW-excl\n",
- (double) mutex_spin_round_count /
- (mutex_spin_wait_count ? mutex_spin_wait_count : 1),
- (double) rw_lock_stats.rw_s_spin_round_count /
- (rw_lock_stats.rw_s_spin_wait_count
- ? rw_lock_stats.rw_s_spin_wait_count : 1),
- (double) rw_lock_stats.rw_x_spin_round_count /
- (rw_lock_stats.rw_x_spin_wait_count
- ? rw_lock_stats.rw_x_spin_wait_count : 1));
+ (double) mutex_spin_round_count_val /
+ (mutex_spin_wait_count_val ? mutex_spin_wait_count_val : 1LL),
+ (double) rw_s_spin_round_count_val /
+ (rw_s_spin_wait_count_val ? rw_s_spin_wait_count_val : 1LL),
+ (double) rw_x_spin_round_count_val /
+ (rw_x_spin_wait_count_val ? rw_x_spin_wait_count_val : 1LL));
}
/*******************************************************************//**