Attention is currently required from: dexter, pespin.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/35151?usp=email )
Change subject: gprs_rlcmac_sched: rewrite logic around idle block skip ......................................................................
Patch Set 2:
(1 comment)
File src/gprs_rlcmac_sched.cpp:
https://gerrit.osmocom.org/c/osmo-pcu/+/35151/comment/45e2904c_d3c2aa5a PS1, Line 486: * way we help BTS energy saving (on TRX!=C0) by sending nothing
IIRC you can only decrease a given number of dBm at specific points in time, it's specified somewher […]
This is how it works:
* on C0 (the BCCH carrier): osmo-bts-trx transmits Dummy Bursts (not Normal Bursts), which can be transmitted at a lower power level (2 dB or even 4 dB less relative to the full power, IIRC) in the BCCH carrier power saving mode; * on Cn (n > 0): osmo-bts-trx simply transmits nothing and thus saves energy.
It's actually required by 3GPP specs. to maintain a continuous ("gapless") transmission on the BCCH carrier (C0), so that a phone doing full power scan would not overlook it.
It would have been more logical (and elegant, IMO) to offload the power saving logic to the BTS completely, instead of making such a decision in osmo-pcu. There would be no need to maintain a list of the power saving capable BTS models here, and add lengthy comments explaining what the BTS is supposed to do.
My initial idea/proposal was to simply flag dummy blocks generated in the absence of active TBFs, so that the BTS could decide what to do with such a DATA.req on its own. Unfortunately, I was not able to defend this proposal back then because I was on sick leave. Seeing how much effort/time it's taking to fix OS#6191, I think we should consider getting back to this idea at some point...