See merge request oai/openairinterface5g!804
Develop Integration Branch : 2020 week 15
The following Merge Requests have been included :
* MR 789 : fix sync source configuration for eNB and B200-mini
* MR 795 : dft/fft in shared lib
* MR 795 : NR gNB SCF indication
* MR 798 : Improvements on the "default" LTE-4G scheduler
Instead of looping over UEs and all DL config Req/HI DCI0, loop first
over all DL config Req/HI DCI0, and for each, match UE. Lowers CPU
traffic for high traffic situations.
This refactors the preprocessor. The new preprocessor implements the
same scheduling strategy (Modified Round-Robin: give resources according
to round-robin, then group) but should be fairer by changing every time
the RR start UE (i.e., 1st TTI UE 0 starts, 2nd TTI UE 1, etc) when the
UE number is not a divisor/multiple of the RBG size (and the last RBG is
often smaller). This also removes all unneeded code of the preprocessor
such as allocate(), positioning(), etc.
* do not check rlc_ind()
* Simplify retransmission part and remove nb_rb_available var
* Simplify new transmission code
* Simplify fill_DLSCH_dci(), avoid unnecessary copies
* fix: first check No. RBs, then check CCE alloc
Previously, the various rlc_*_ind() functions had a parameter to enable
the MAC to specify the max TB size that a subsequent call to the
corresponding rlc_*_req() (!) function would return. This patch removes
this parameter from the rlc_*_ind() functions and makes the parameter
working that is already in the rlc_*_req() functions.
store_dlsch_buffer() puts the RLC buffer status results in the
UE_TEMPLATE, which is per-CC. Since the DLSCH scheduler works per-CC,
too, we pass the right CC. However, this is not strictly necessary, as
we could do this once before every CC, and it might be updated.