aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-11-13 15:02:50 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-11-13 15:02:50 +0100
commitaa35ba75849684a8e4fa4335612ae575d353bfb4 (patch)
tree29a14e8456b68912e7c694bc2c189ec959552061
parent857281f7ff904f2c8714c938a693d3a49084f4fc (diff)
tbf: Count how often we re-use a TBF that was already being deactivated
-rw-r--r--src/bts.cpp1
-rw-r--r--src/bts.h3
-rw-r--r--src/tbf.cpp1
3 files changed, 5 insertions, 0 deletions
diff --git a/src/bts.cpp b/src/bts.cpp
index 96d1753f..e4c4bfa9 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -53,6 +53,7 @@ static const struct rate_ctr_desc bts_ctr_description[] = {
{ "tbf.dl.freed", "TBF DL Freed "},
{ "tbf.ul.alloc", "TBF UL Allocated "},
{ "tbf.ul.freed", "TBF UL Freed "},
+ { "tbf.reused", "TBF Reused "},
{ "decode.errors", "Decode Errors "},
{ "sba.allocated", "SBA Allocated "},
{ "sba.freed", "SBA Freed "},
diff --git a/src/bts.h b/src/bts.h
index 334e0a22..5a55ed08 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -157,6 +157,7 @@ public:
CTR_TBF_DL_FREED,
CTR_TBF_UL_ALLOCATED,
CTR_TBF_UL_FREED,
+ CTR_TBF_REUSED,
CTR_DECODE_ERRORS,
CTR_SBA_ALLOCATED,
CTR_SBA_FREED,
@@ -201,6 +202,7 @@ public:
void tbf_dl_freed();
void tbf_ul_created();
void tbf_ul_freed();
+ void tbf_reused();
void decode_error();
void sba_allocated();
void sba_freed();
@@ -262,6 +264,7 @@ CREATE_COUNT_INLINE(tbf_dl_created, CTR_TBF_DL_ALLOCATED)
CREATE_COUNT_INLINE(tbf_dl_freed, CTR_TBF_DL_FREED)
CREATE_COUNT_INLINE(tbf_ul_created, CTR_TBF_UL_ALLOCATED)
CREATE_COUNT_INLINE(tbf_ul_freed, CTR_TBF_UL_FREED)
+CREATE_COUNT_INLINE(tbf_reused, CTR_TBF_REUSED)
CREATE_COUNT_INLINE(decode_error, CTR_DECODE_ERRORS)
CREATE_COUNT_INLINE(sba_allocated, CTR_SBA_ALLOCATED)
CREATE_COUNT_INLINE(sba_freed, CTR_SBA_FREED)
diff --git a/src/tbf.cpp b/src/tbf.cpp
index b4b58e48..c636c989 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -99,6 +99,7 @@ int gprs_rlcmac_tbf::append_data(const uint8_t ms_class,
"%s in WAIT RELEASE state "
"(T3193), so reuse TBF\n", tbf_name(this));
#warning "verify that m_llc.index/length is 0... check the state change"
+ bts->tbf_reused();
m_llc.put_frame(data, len);
/* reset rlc states */
memset(&dir.dl, 0, sizeof(dir.dl));