Attention is currently required from: manawyrm, roox.
Hello Jenkins Builder, manawyrm, roox, tnt,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-e1d/+/27848
to look at the new patch set (#2).
Change subject: octoi: Fix frame_rifo_depth() function
......................................................................
octoi: Fix frame_rifo_depth() function
We use the 'correct' math in frame_rifo_depth now so the
count is accurate down to zero.
We need to fixup the logic that drags the 'write pointer'
(last_in_fn) along when reading from an empty FIFO.
We also need proper init (which was missing alltogether
beforehand).
Change-Id: I088f181e74358eb2c96a7aab7a7c875b9276d980
Signed-off-by: Sylvain Munaut <tnt(a)246tNt.com>
---
M src/octoi/frame_rifo.c
M src/octoi/frame_rifo.h
2 files changed, 6 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/48/27848/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/27848
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: I088f181e74358eb2c96a7aab7a7c875b9276d980
Gerrit-Change-Number: 27848
Gerrit-PatchSet: 2
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Reviewer: roox <mardnh(a)gmx.de>
Gerrit-CC: tnt <tnt(a)246tNt.com>
Gerrit-Attention: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Attention: roox <mardnh(a)gmx.de>
Gerrit-MessageType: newpatchset
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/27778 )
Change subject: osmo-bts-trx: amr_loop: do not miss C/I samples
......................................................................
osmo-bts-trx: amr_loop: do not miss C/I samples
Keep collecting C/I samples even if the MS has not yet applied
previously requested codec mode. The C/I ratio is expected to
stay more or less the same, no matter which codec mode is used.
Change-Id: Ieb5473ead7200f652b5d0e339e4e252d6567482d
Related: SYS#5917, OS#4984
---
M src/osmo-bts-trx/amr_loop.c
1 file changed, 4 insertions(+), 4 deletions(-)
Approvals:
pespin: Looks good to me, but someone else must approve
fixeria: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/src/osmo-bts-trx/amr_loop.c b/src/osmo-bts-trx/amr_loop.c
index 1771d7a..ce89091 100644
--- a/src/osmo-bts-trx/amr_loop.c
+++ b/src/osmo-bts-trx/amr_loop.c
@@ -44,10 +44,6 @@
if (!chan_state->amr_loop)
return;
- /* wait for MS to use the requested codec */
- if (mi != chan_state->dl_cmr)
- return;
-
/* count per-block C/I samples for further averaging */
if (lchan->type == GSM_LCHAN_TCH_H) {
chan_state->lqual_cb_num += 2;
@@ -57,6 +53,10 @@
chan_state->lqual_cb_sum += lqual_cb;
}
+ /* wait for MS to use the requested codec */
+ if (mi != chan_state->dl_cmr)
+ return;
+
/* count frames */
if (chan_state->lqual_cb_num < 48)
return;
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27778
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Ieb5473ead7200f652b5d0e339e4e252d6567482d
Gerrit-Change-Number: 27778
Gerrit-PatchSet: 3
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/27775 )
Change subject: osmo-bts-trx: amr_loop: allow upgrading codec mode > 0
......................................................................
osmo-bts-trx: amr_loop: allow upgrading codec mode > 0
With the current implementation the AMR loop is unable to upgrade
the current codec mode unless it reaches the worst possible value.
The problem is in the 'else' statement connection both 'if's.
Change-Id: I4c0fb28813373c3d4addd28c66f5136d2c4f9ed8
Related: SYS#5917, OS#4984
---
M src/osmo-bts-trx/amr_loop.c
1 file changed, 7 insertions(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
pespin: Looks good to me, but someone else must approve
diff --git a/src/osmo-bts-trx/amr_loop.c b/src/osmo-bts-trx/amr_loop.c
index 90b156c..6afb5f3 100644
--- a/src/osmo-bts-trx/amr_loop.c
+++ b/src/osmo-bts-trx/amr_loop.c
@@ -71,6 +71,7 @@
chan_state->lqual_cb_num = 0;
chan_state->lqual_cb_sum = 0;
+ /* If the current codec mode can be degraded */
if (mi > 0) {
/* The threshold/hysteresis is in 0.5 dB steps, convert to cB:
* 1dB is 10cB, so 0.5dB is 5cB - this is why we multiply by 5. */
@@ -83,8 +84,12 @@
mi, cfg->mode[mi].mode, mi - 1, cfg->mode[mi - 1].mode,
lqual_cb, thresh_lower_cb);
chan_state->dl_cmr--;
+ return;
}
- } else if (mi < chan_state->codecs - 1) {
+ }
+
+ /* If the current codec mode can be upgraded */
+ if (mi < chan_state->codecs - 1) {
/* The threshold/hysteresis is in 0.5 dB steps, convert to cB:
* 1dB is 10cB, so 0.5dB is 5cB - this is why we multiply by 5. */
const int thresh_upper_cb = cfg->mode[mi].threshold * 5 \
@@ -97,6 +102,7 @@
mi, cfg->mode[mi].mode, mi + 1, cfg->mode[mi + 1].mode,
lqual_cb, thresh_upper_cb);
chan_state->dl_cmr++;
+ return;
}
}
}
2 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/27775
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I4c0fb28813373c3d4addd28c66f5136d2c4f9ed8
Gerrit-Change-Number: 27775
Gerrit-PatchSet: 3
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: manawyrm, roox, tnt.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/27841 )
Change subject: e1oip: Add rate_ctr for IP->E1 RIFO overflows
......................................................................
Patch Set 4:
(1 comment)
File src/octoi/e1oip.c:
https://gerrit.osmocom.org/c/osmo-e1d/+/27841/comment/496a4884_0cea5320
PS2, Line 255: rc = frame_rifo_in(&iline->e1t.rifo, frame_buf, fn32+i);
> That's not really correct. […]
so what kind of naming would you prefer? e1oip:e1t_out_of_ragge? out_of_window? I somehow like the orthogonality of e1t_overflow with e1o_overflow that we already have. But not sure if that is worth introducing misnamed counters?
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/27841
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: Ie0e8bb2f5d2ae4256952f6bf69e514d5c2627a76
Gerrit-Change-Number: 27841
Gerrit-PatchSet: 4
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Reviewer: roox <mardnh(a)gmx.de>
Gerrit-Reviewer: tnt <tnt(a)246tNt.com>
Gerrit-Attention: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Attention: roox <mardnh(a)gmx.de>
Gerrit-Attention: tnt <tnt(a)246tNt.com>
Gerrit-Comment-Date: Wed, 20 Apr 2022 12:58:51 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: tnt <tnt(a)246tNt.com>
Gerrit-MessageType: comment
Attention is currently required from: manawyrm, roox, tnt.
Hello Jenkins Builder, manawyrm, roox, tnt,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-e1d/+/27845
to look at the new patch set (#3).
Change subject: octoi: differentiate UNDERRUN from SUBSTITUTED in counters
......................................................................
octoi: differentiate UNDERRUN from SUBSTITUTED in counters
A real _underrun_ happens if the RIFO is empty (depth == 0)
and should be counted different from a mere frame substition
due to packet loss.
Change-Id: I5448430b09ec10a16decdfd0a4a40850fe2ed1a6
---
M src/octoi/e1oip.c
M src/octoi/e1oip.h
M src/octoi/frame_rifo.c
M src/octoi/octoi.c
M tests/rifo/rifo_test.ok
5 files changed, 38 insertions(+), 27 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/45/27845/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/27845
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: I5448430b09ec10a16decdfd0a4a40850fe2ed1a6
Gerrit-Change-Number: 27845
Gerrit-PatchSet: 3
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Reviewer: roox <mardnh(a)gmx.de>
Gerrit-Reviewer: tnt <tnt(a)246tNt.com>
Gerrit-Attention: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Attention: roox <mardnh(a)gmx.de>
Gerrit-Attention: tnt <tnt(a)246tNt.com>
Gerrit-MessageType: newpatchset
Attention is currently required from: manawyrm, roox, tnt.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/27845 )
Change subject: octoi: differentiate UNDERRUN from SUBSTITUTED in counters
......................................................................
Patch Set 2:
(1 comment)
File src/octoi/frame_rifo.c:
https://gerrit.osmocom.org/c/osmo-e1d/+/27845/comment/554c8ba1_4325943e
PS1, Line 141: if (frame_rifo_depth(rifo) == 0) {
> I think technically the current frame_rifo_depth is "off-by-one" in the sense that it will return 0 […]
yes, I've now fixe this in https://gerrit.osmocom.org/c/osmo-e1d/+/27848 and introduced test coverage in https://gerrit.osmocom.org/c/osmo-e1d/+/27847
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/27845
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: I5448430b09ec10a16decdfd0a4a40850fe2ed1a6
Gerrit-Change-Number: 27845
Gerrit-PatchSet: 2
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Reviewer: roox <mardnh(a)gmx.de>
Gerrit-Reviewer: tnt <tnt(a)246tNt.com>
Gerrit-Attention: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Attention: roox <mardnh(a)gmx.de>
Gerrit-Attention: tnt <tnt(a)246tNt.com>
Gerrit-Comment-Date: Wed, 20 Apr 2022 12:54:33 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: tnt <tnt(a)246tNt.com>
Gerrit-MessageType: comment
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1d/+/27848 )
Change subject: octoi: Fix frame_rifo_depth() function
......................................................................
octoi: Fix frame_rifo_depth() function
Both in the situation with zero and with one frame in the RIFO,
last_fn_in == last_fn_out. We must differentiate based on
whether or not the bucket_bit for last_fn_out is still set or not.
Change-Id: I088f181e74358eb2c96a7aab7a7c875b9276d980
---
M src/octoi/frame_rifo.c
M src/octoi/frame_rifo.h
2 files changed, 11 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/48/27848/1
diff --git a/src/octoi/frame_rifo.c b/src/octoi/frame_rifo.c
index 94758e9..852987e 100644
--- a/src/octoi/frame_rifo.c
+++ b/src/octoi/frame_rifo.c
@@ -84,6 +84,16 @@
return rifo->bitvec[byte] & (1 << bit);
}
+unsigned int frame_rifo_depth(struct frame_rifo *rifo)
+{
+ uint32_t depth = rifo->last_in_fn - rifo->next_out_fn;
+ uint32_t bucket_nr = bucket_for_fn(rifo, rifo->last_in_fn);
+ if (bucket_bit_get(rifo, bucket_nr))
+ depth += 1;
+
+ return depth;
+}
+
void rifo_dump(struct frame_rifo *rifo)
{
printf("buf=%p, size=%zu, next_out=%lu, next_out_fn=%u\n", rifo->buf, sizeof(rifo->buf),
diff --git a/src/octoi/frame_rifo.h b/src/octoi/frame_rifo.h
index 401e873..2b0ad21 100644
--- a/src/octoi/frame_rifo.h
+++ b/src/octoi/frame_rifo.h
@@ -22,10 +22,7 @@
}
/* current depth of RIFO */
-static inline unsigned int frame_rifo_depth(struct frame_rifo *rifo)
-{
- return rifo->last_in_fn - rifo->next_out_fn;
-}
+unsigned int frame_rifo_depth(struct frame_rifo *rifo);
void frame_rifo_init(struct frame_rifo *rifo);
--
To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/27848
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: I088f181e74358eb2c96a7aab7a7c875b9276d980
Gerrit-Change-Number: 27848
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: newchange