Feature #5599
opentrxcon: integrate with osmo-trx-ms
0%
Description
As was discussed with Harald and Eric, the TDMA scheduler from trxcon should be integrated into osmo-trx-ms for the sake of minimizing delays. This can be achieved by separating trxcon's major components into shared libraries, let's say: libosmobb-l1sched.so, libosmobb-l1ctl.so, and libosmobb-trxif.so (naming suggestions are welcome!).
Scheduler interface¶
Clock¶
- trx_data_rx_cb()
- sched_clck_handle()
Uplink path¶
- trx_data_rx_cb()
- sched_trx_handle_rx_burst()
- lchan_handler(), e.g. rx_data_fn()
- (... burst buffers ... )
- sched_send_dt_ind()
- l1ctl_tx_dt_ind()
- l1ctl_link_send()
Downlink path¶
- l1ctl_rx_dt_req()
- sched_prim_init() & sched_prim_push()
- (... prim queue ...)
- sched_frame_clck_cb()
- lchan_handler()
- trx_if_tx_burst()
Files
Related issues
Updated by laforge about 1 month ago
- Related to Feature #3761: Separate TDMA scheduler into a library (libtdmasched) added
Updated by fixeria about 1 month ago
- Subject changed from trxcon: Separate TDMA scheduler into a library to trxcon: integrate with osmo-trx-ms
Updated by Hoernchen about 1 month ago
Additonally, the current scheduler is kind of timer driven, instead of being driven by rx frames or some sort of fn/tn indication, which also causes jitter, and the old osmo-bts/trx split approach basically duplicates channel layout knowledge, the trxcon scheduler knows which fn and tn to handle, so there is no reason to duplicate the decision logic/channel layout for the lower parts.