You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2018/04/12 18:00:14 UTC
[trafficserver] branch master updated: Fix
cache_read_busy_success_stat
This is an automated email from the ASF dual-hosted git repository.
zwoop pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new d52f317 Fix cache_read_busy_success_stat
d52f317 is described below
commit d52f317f704bc87ba2ef223c2a6437df308eabf1
Author: Masakazu Kitajo <ma...@apache.org>
AuthorDate: Thu Apr 12 15:43:46 2018 +0900
Fix cache_read_busy_success_stat
The stat was incremented unintentionally in a certain case.
---
iocore/cache/CacheRead.cc | 3 ++-
iocore/cache/P_CacheInternal.h | 32 ++++++++++++++++++++------------
2 files changed, 22 insertions(+), 13 deletions(-)
diff --git a/iocore/cache/CacheRead.cc b/iocore/cache/CacheRead.cc
index 40b318d..fbb4cd1 100644
--- a/iocore/cache/CacheRead.cc
+++ b/iocore/cache/CacheRead.cc
@@ -953,8 +953,9 @@ CacheVC::openReadStartEarliest(int /* event ATS_UNUSED */, Event * /* e ATS_UNUS
Lcallreturn:
return handleEvent(AIO_EVENT_DONE, nullptr); // hopefully a tail call
Lsuccess:
- if (write_vc)
+ if (write_vc) {
CACHE_INCREMENT_DYN_STAT(cache_read_busy_success_stat);
+ }
SET_HANDLER(&CacheVC::openReadMain);
return callcont(CACHE_EVENT_OPEN_READ);
}
diff --git a/iocore/cache/P_CacheInternal.h b/iocore/cache/P_CacheInternal.h
index 8b30c81..4bf5080 100644
--- a/iocore/cache/P_CacheInternal.h
+++ b/iocore/cache/P_CacheInternal.h
@@ -165,23 +165,31 @@ extern RecRawStatBlock *cache_rsb;
#define CACHE_SET_DYN_STAT(x, y) \
RecSetGlobalRawStatSum(cache_rsb, (x), (y)) RecSetGlobalRawStatSum(vol->cache_vol->vol_rsb, (x), (y))
-#define CACHE_INCREMENT_DYN_STAT(x) \
- RecIncrRawStat(cache_rsb, mutex->thread_holding, (int)(x), 1); \
- RecIncrRawStat(vol->cache_vol->vol_rsb, mutex->thread_holding, (int)(x), 1);
+#define CACHE_INCREMENT_DYN_STAT(x) \
+ do { \
+ RecIncrRawStat(cache_rsb, mutex->thread_holding, (int)(x), 1); \
+ RecIncrRawStat(vol->cache_vol->vol_rsb, mutex->thread_holding, (int)(x), 1); \
+ } while (0);
-#define CACHE_DECREMENT_DYN_STAT(x) \
- RecIncrRawStat(cache_rsb, mutex->thread_holding, (int)(x), -1); \
- RecIncrRawStat(vol->cache_vol->vol_rsb, mutex->thread_holding, (int)(x), -1);
+#define CACHE_DECREMENT_DYN_STAT(x) \
+ do { \
+ RecIncrRawStat(cache_rsb, mutex->thread_holding, (int)(x), -1); \
+ RecIncrRawStat(vol->cache_vol->vol_rsb, mutex->thread_holding, (int)(x), -1); \
+ } while (0);
#define CACHE_VOL_SUM_DYN_STAT(x, y) RecIncrRawStat(vol->cache_vol->vol_rsb, mutex->thread_holding, (int)(x), (int64_t)y);
-#define CACHE_SUM_DYN_STAT(x, y) \
- RecIncrRawStat(cache_rsb, mutex->thread_holding, (int)(x), (int64_t)(y)); \
- RecIncrRawStat(vol->cache_vol->vol_rsb, mutex->thread_holding, (int)(x), (int64_t)(y));
+#define CACHE_SUM_DYN_STAT(x, y) \
+ do { \
+ RecIncrRawStat(cache_rsb, mutex->thread_holding, (int)(x), (int64_t)(y)); \
+ RecIncrRawStat(vol->cache_vol->vol_rsb, mutex->thread_holding, (int)(x), (int64_t)(y)); \
+ } while (0);
-#define CACHE_SUM_DYN_STAT_THREAD(x, y) \
- RecIncrRawStat(cache_rsb, this_ethread(), (int)(x), (int64_t)(y)); \
- RecIncrRawStat(vol->cache_vol->vol_rsb, this_ethread(), (int)(x), (int64_t)(y));
+#define CACHE_SUM_DYN_STAT_THREAD(x, y) \
+ do { \
+ RecIncrRawStat(cache_rsb, this_ethread(), (int)(x), (int64_t)(y)); \
+ RecIncrRawStat(vol->cache_vol->vol_rsb, this_ethread(), (int)(x), (int64_t)(y)); \
+ } while (0);
#define GLOBAL_CACHE_SUM_GLOBAL_DYN_STAT(x, y) RecIncrGlobalRawStatSum(cache_rsb, (x), (y))
--
To stop receiving notification emails like this one, please contact
zwoop@apache.org.