- 06 Apr, 2020 26 commits
-
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
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.
-
Robert Schmidt authored
* 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
-
Robert Schmidt authored
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.
-
Robert Schmidt authored
-
Robert Schmidt authored
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.
-
Robert Schmidt authored
-
- 01 Apr, 2020 14 commits
-
-
Robert Schmidt authored
-
Robert Schmidt authored
UE_list_t is now used as a separate list. It can be e.g. used in the scheduler to mark groups of users. The original UE_list_t is renamed to UE_info_t to reflect that it is a container for information about UEs.
-
Robert Schmidt authored
-
Robert Schmidt authored
* Simplify store_dlsch_buffer() * Simplify assign_rbs_required() * Simplify dlsch_scheduler_pre_processor_partitioning() * Simplify dlsch_scheduler_pre_processor_accounting() and dlsch_scheduler_pre_processor_accounting_allocate() * Simplify allocation printing The original functions used in the fairRR scheduler have been moved to eNB_scheduler_fairRR
-
Robert Schmidt authored
* Remove MIMO_mode_indicator: it is simply not used ATM * Remove min_rb_unit as parameter: function auto-detects * Remove commented code * Remove slice sharing/multiplexing: it is broken * Remove UE sorting, add UE with add_new_ue() in MAC - UE sorting is useless overhead on every iteration, instead it should be governed by a scheduling algorithm (e.g., RR or PF) - The MAC keeps a UE list and automatically adds a UE - UE_list empty, set head to -1 * Remove slice_positioning: the slicing functionality is broken * Remove unused/untested code
-
Robert Schmidt authored
The original reset() function used in fairRR has been moved to eNB_scheduler_fairRR.c
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
When a header is changed, all including files need to be recompiled, too. Thus, including a header needlessly all over the place drives compile times up without any reason.
-
Robert Schmidt authored
-
Robert Schmidt authored
-