From c70aae4697871f7b50369634e57c36c5d081df4d Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 19 Nov 2013 17:09:37 +0100 Subject: rlc: Count the window stalls on the RLC level --- src/bts.cpp | 1 + src/bts.h | 3 +++ src/tbf.cpp | 4 +++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/bts.cpp b/src/bts.cpp index b261ea45..818530b0 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -56,6 +56,7 @@ static const struct rate_ctr_desc bts_ctr_description[] = { { "tbf.reused", "TBF Reused "}, { "rlc.sent", "RLC Sent "}, { "rlc.resent", "RLC Resent "}, + { "rlc.stalled", "RLC Stalled "}, { "decode.errors", "Decode Errors "}, { "sba.allocated", "SBA Allocated "}, { "sba.freed", "SBA Freed "}, diff --git a/src/bts.h b/src/bts.h index 0a18b7e8..178be3d8 100644 --- a/src/bts.h +++ b/src/bts.h @@ -160,6 +160,7 @@ public: CTR_TBF_REUSED, CTR_RLC_SENT, CTR_RLC_RESENT, + CTR_RLC_STALLED, CTR_DECODE_ERRORS, CTR_SBA_ALLOCATED, CTR_SBA_FREED, @@ -208,6 +209,7 @@ public: void tbf_reused(); void rlc_sent(); void rlc_resent(); + void rlc_stalled(); void decode_error(); void sba_allocated(); void sba_freed(); @@ -273,6 +275,7 @@ CREATE_COUNT_INLINE(tbf_ul_freed, CTR_TBF_UL_FREED) CREATE_COUNT_INLINE(tbf_reused, CTR_TBF_REUSED) CREATE_COUNT_INLINE(rlc_sent, CTR_RLC_SENT) CREATE_COUNT_INLINE(rlc_resent, CTR_RLC_RESENT) +CREATE_COUNT_INLINE(rlc_stalled, CTR_RLC_STALLED) 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 14e6e2ae..5c6c15f6 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -918,10 +918,12 @@ do_resend: LOGP(DRLCMACDL, LOGL_DEBUG, "- Restarting at BSN %d, " "because all blocks have been transmitted.\n", dir.dl.v_a); - else + else { LOGP(DRLCMACDL, LOGL_NOTICE, "- Restarting at BSN %d, " "because all window is stalled.\n", dir.dl.v_a); + bts->rlc_stalled(); + } /* If V(S) == V(A) and finished state, we would have received * acknowledgement of all transmitted block. In this case we * would have transmitted the final block, and received ack -- cgit v1.2.3