Attention is currently required from: laforge, pespin, dexter.

falconia has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/32968 )

Change subject: all models, HR1 codec: accept both TS101318 and RFC5993 formats
......................................................................


Patch Set 1:

(3 comments)

File src/common/l1sap.c:

https://gerrit.osmocom.org/c/osmo-bts/+/32968/comment/a3452940_ea23b703
PS1, Line 1264: static bool rtppayload_validate_hr(struct msgb *msg)
> this function is now not really validating, but converting.
The same is already the case for rtppayload_validate_{fr,efr} - those functions 
call osmo_{fr,efr}_sid_preen(), and the latter functions apply a transformation 
to the bits: if the received frame was a deemed-valid SID with some bit errors, 
that SID is rejuvenated by clearing all those errored bits.

Should we perhaps rename all these functions to rtppayload_preen_*() instead of 
validate? Please ack if I should make a preliminary patch renaming the two 
existing functions and then use the new name in the next spin of the present 
patch.


https://gerrit.osmocom.org/c/osmo-bts/+/32968/comment/dece4921_02b17e31 
PS1, Line 1270:         case GSM_HR_BYTES_RTP_RFC5993:
> I'm not against this patch, I don't even know whether any of the existing 
> backends is already using  […]
I concur with @laforge, and my initial thoughts on how to approach OS#5688 on 
the fundamental design level (before going down to code implementation level) 
were/are based on the same principle: it is unreasonable to anticipate new 
hypothetical DSP backends that would differ from what we have currently.

@pespin:
> I don't even know whether any of the existing backends is already using it.

Prior to recent libosmocoding fixes, there was this issue: the channel encoding 
function used by osmo-bts-trx stupidly required 15-byte format even though it 
never actually looked at the ToC octet. That design bug is now fixed in 
libosmocoding in a backward-compatible way (that's what the Depends: line in 
the present patch refers to), and now that same function happily accepts 
14-byte payloads.


https://gerrit.osmocom.org/c/osmo-bts/+/32968/comment/d0e73f23_4d1f3678
PS1, Line 1279: memmove(msg->data, msg->data + 1, GSM_HR_BYTES);
              :                 msgb_get(msg, 1);
> I'm wondering why we are moving data around in the msgb? This is potentially 
> quite expensive on our  […]
Please read the long C comment on the 7 lines immediately preceding your 
highlight. The obvious msgb_pull() way was the first thing I tried, quite 
naturally, but it immediately brought the sysmoBTS unit to its knees! The 
visible symptoms were: as soon as that code path starts executing (as soon as 
RTP packets come in that require this one octet stripping), the MS on the test 
call would declare radio link failure, I seem to recall other MS also going 
into No Service because they stopped receiving PCH, and the vty telnet session 
was slowed to a crawl. I reason that the bad behavior is caused by misaligned 
accesses to 32-bit fields inside the l1sap header being added by 
l1sap_tch_rts_ind() - that header becomes misaligned once the msgb_pull() moves 
off the aligned position by 1 byte.

I agree with you that the memmove way is inefficient - but the simple way 
doesn't work right now. Can we perhaps brainstorm some better way?



--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32968
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I702e26c3ad5b9d8347e73c6cd23efa38a3a3407e
Gerrit-Change-Number: 32968
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <fal...@freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pma...@sysmocom.de>
Gerrit-CC: laforge <lafo...@osmocom.org>
Gerrit-CC: pespin <pes...@sysmocom.de>
Gerrit-Attention: laforge <lafo...@osmocom.org>
Gerrit-Attention: pespin <pes...@sysmocom.de>
Gerrit-Attention: dexter <pma...@sysmocom.de>
Gerrit-Comment-Date: Wed, 24 May 2023 17:37:54 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <lafo...@osmocom.org>
Comment-In-Reply-To: pespin <pes...@sysmocom.de>
Gerrit-MessageType: comment

Reply via email to