Remove schedule response and update L1 threading documentation
This merge requests removes the somewhat superfluous "schedule response" mechanism. "schedule response" was run after running the scheduler itself and copied various FAPI messages into a global msgDataTx structure from which the various TX/RX jobs were triggered. It is not necessary, though, given that the scheduler is run inside the tx_func() (running the TX jobs of the L1), and so the scheduler output FAPI messages can directly be read into a variable of the existing NR_Sched_Rsp_t type. This allows to delete a couple of hundred lines of code (while retaining functionality), and simplifies the msgDataTx type (which is still there to trigger TX job (including the scheduler) from the ru thread).
In short, prior, there was this call chain:
-
tx_func()callsrun_scheduler_monolithic()(through fptrNR_slot_indication())- get some memory through
allocate_sched_response()which has enough space forNR_Sched_Rsp_ttype variable - call the scheduler and fill the variable
- call
nr_schedule_response()(through fptrNR_schedule_response()) which copies into L1: tomsgDataTxfor TX, to separate structures for RX
- get some memory through
this is changed to
-
tx_func()runs one message at a time, hence we can use memory in the data segment forNR_Sched_Rsp_t. It callsrun_scheduler_monolithic()through the fptr- pointers into
NR_Sched_Rsp_tare passed to the scheduler, which fills as before - we return, memory is in its right place and does not need an extra copy.
- pointers into
Additionally, this merge request updates documentation on threading and cleans up some unused code along the way.