483 Commits (40fded72225be0e2ca174d73f7514c035d57d618)

Author SHA1 Message Date
Andre Puschmann 2adb1c0723 sched_nr_worker: make cond var to sync workers an integer
the boolean isn't enough for more than 2 PHY workers, replace by int
3 years ago
Andre Puschmann 38f1e158a5 enb,nr: fix NR PHY PRACH init and MAC-PHY interaction 3 years ago
Andre Puschmann fd3a7ce098 sched_nr_ue: fix uninitialized values 3 years ago
Francisco Paisana ce884ee4c6 sched: fix sched DL RBG allocation for subband CQI 3 years ago
Francisco Paisana e64fcf6ea6 sched,nr: extend sched nr to support RAR and msg3 DCI packing. 3 years ago
Andre Puschmann 7ab52500e9 enb,mac_nr: add NR sched class and add basic init calls 3 years ago
Andre Puschmann 45c1971249 mac,phy,interface: clean up and add NR interface to LTE stack
* remove obsolte rx_data_ind
* add mac_phy_interface_nr to LTE stack
3 years ago
Francisco Paisana 8e174c96ed sched,nr: provide allocated byte_buffer in DL sched output + changes in RA procedure + added sched nr in default nr_phy_tests 3 years ago
Francisco Paisana 12e33483e1 sched,nr: add slot_point to sched nr 3 years ago
Francisco Paisana 4a2b51bc0d sched,nr: fix sched nr pusch K2 timing 3 years ago
Francisco Paisana b589c0d184 sched,nr: ack/crc info included in nr_phy_test 3 years ago
Francisco Paisana 592d9332ba sched,nr: add logic for allocation of RAR and Msg3 grants 3 years ago
Francisco Paisana c9a5180a09 sched,nr: integrate NR scheduler in nr_phy_test
The scheduler can be activated via a command line flag
3 years ago
Francisco Paisana 660b66dbe3 sched,nr: add option to run phy nr test with real NR scheduler 3 years ago
Francisco Paisana e6683b7387 sched,nr: simplify scheduler threading architecture to reflect the new cc-based parallelism model 3 years ago
Francisco Paisana 74d0a8adb8 sched: add subband cqi info interface to LTE scheduler 3 years ago
Andre Puschmann 921a04ce65 enb,mac_nr: turn UE object into normal std::unique_ptr 3 years ago
Andre Puschmann 8d2e81ad6f enb,mac,nr: add basic UE object skeleton
refactor that also adds a basic UE object to the NR MAC
3 years ago
Francisco Paisana 09c7000201 sched,nr: update nr scheduler to use new mac nr interface types 3 years ago
Francisco Paisana 8a34a3c41a sched,nr: fix compilation issues in centos7 and removed unused variables 3 years ago
Francisco Paisana d9336bcd9e sched,nr: creation of pool of softbuffers for NR. Now the sched NR harq manages the lifetime of the softbuffer and its forwarding to the PHY 3 years ago
Francisco Paisana 1535e6b205 sched,nr: extend sched nr testing suite. restrict paralllelization for correct DAI generation 3 years ago
Francisco Paisana 323703c2f3 sched,nr: measure latency of sched nr in test 3 years ago
Francisco Paisana d63ea00a5d sched,nr: use PRBs instead of RBGs as the basic unit for PRB grants in the NR scheduler 3 years ago
Francisco Paisana b81cbd1334 sched,nr: redesign the order available search spaces/coresets are found in the scheduler 3 years ago
Francisco Paisana dd3c9b4d7e sched,nr: utilization of common bwp params structure across multiple sched objects 3 years ago
Francisco Paisana 2db8b8d876 sched,nr: add RAR scheduler inspired in LTE one 3 years ago
Francisco Paisana 4f0b954cde sched,nr: changed scheduler nr api to not require slot_indication function 3 years ago
Francisco Paisana 23afc66a86 sched,nr: implementation of PUCCH HARQ allocation in NR 3 years ago
Francisco Paisana bcc374c2cd implement TDD DL vs UL slot activation 3 years ago
Francisco Paisana f87f898641 sched,nr: extend coreset pdcch allocation to UL 3 years ago
Ismael Gomez 1fd9d4300c Move pdu buffer mutex in mac::ue to each carrier buffer map 3 years ago
Xavier Arteaga b25681f9de gnb,prach: add PRACH to gNB
rebase of Xavier's feature_gnb_prach branch
3 years ago
Andre Puschmann 8dd7075d12 enb,stack: add NR components for NSA mode
adds the main NR components for RLC, PDCP, MAC and RRC
for NSA operation.
3 years ago
Andre Puschmann 19996a4059 sched_nr: fix compilation 3 years ago
Xavier Arteaga 5307fec2f0 Added GNB MAC UL info initial interface and fix PHY implementation 3 years ago
Ismael Gomez c0fd64c4e6 Fix data races in srsENB MAC 3 years ago
Francisco 4c316aa9ea sched,nr: integrate mac-phy interface types into the scheduler 3 years ago
Francisco 5b3c5ded63 sched,nr: implement NR PDCCH allocation algorithm 3 years ago
Xavier Arteaga 8378c85ec4 Refactored gNb PHY 3 years ago
Xavier Arteaga d49734b1bc SRSENB: Refactor to accomodate 5G NR 3 years ago
Francisco de05e1e549 sched,nr: fix invalid memory write 3 years ago
Francisco 75153c7c83 sched,nr: implementation of sched sim test class 3 years ago
Francisco f1b3cfc764 sched,nr: implementation of sched NR harq retxs. Refactor of rb grid classes. 3 years ago
Francisco d950433cbd sched,nr: fix time-domain parallelization sched nr test. creation of util class to handle acquisition of boolean resources 3 years ago
Francisco 35a236b1b9 sched,nr: fix sched_nr_test. Resolve data race issues. Created new config structs used across the scheduler. 3 years ago
Francisco 407da794e1 sched,nr: implementation of slot grid class 3 years ago
Francisco 4fa27f3841 sched,nr: implementation of main classes for NR scheduler, and basic test for concurrency 3 years ago
Francisco 78acf81cf0 bugfix,sched: avoid instability in TPCs around PHR~0 3 years ago
Ismael Gomez 02ec4dd3d0 Remove unused variable 3 years ago
Ismael Gomez dd9889e07c Add carrier index to uplink PCAP captures 3 years ago
Francisco 5a82a63bb5 bugfix,srsenb: fix intraenb handover softbuffer allocation during handover 3 years ago
Francisco d5234b5f65 sched,bugfix: avoid using UL SNR average in tpc control loop 3 years ago
Francisco e8983b88f0 refactor: use enb_cc_idx instead of ue_cc_idx in mac::ue 3 years ago
Andre Puschmann f65faba756 sched_harq: fix uninitialized values in HARQ
detected with Valgrind memcheck
3 years ago
Francisco 7e77da6a15 mac,optimization: use rnti memory pool to create mac::ue objects 4 years ago
Francisco fd1d73666c bugfix,srsenb,mac: avoid sanity check for UL PDU length if CRC=KO 4 years ago
Francisco 76004a3054 enb,mac,refactor: mac::ue now uses byte_buffer_pool for UL PDUs 4 years ago
Francisco 9e2a7d4592 bugfix,tpc: only cap PUSCH TPC when PHR is negative. I also extended TPC unit test 4 years ago
Francisco bdc4362475 bugfix,tpc: place a cap on TPC due to PHR only when TPC is positive 4 years ago
Francisco 7badfb1c88 bugfix: avoid multiple TPC=0 for a single PHR<0 4 years ago
Francisco e2c37ad513 bugfix: missing early return in TPC derivation 4 years ago
Andre Puschmann c0be8187c8 rlc interface: convert entire read_pdu() interface to return uint32_t
we had it returning int but had a bug in using the return value properly,
i.e. handling when -1 was returned in RLC TM.

Thinking about it more, it doesn't make sense to have a negative return
value here anyway. Either the RLC can return a PDU or not. If it can't the
returned lenght is zero.
4 years ago
Francisco ceaef3523f sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing 4 years ago
Francisco 486823e5de sched,bugfix: The PHR handling scheme now considers the number of PRBs of the UL grant that carried the PHR. Before, it was assuming the most conservative scenario of Nprb=1 4 years ago
Francisco f7aef3ffc1 sched,bugfix: fix nof_retx update when UL HARQs are resumed 4 years ago
Francisco 89406b07d6 make eNB UL SNR initial value an exponential average alpha configurable 4 years ago
Francisco 2cdda3b6db sched,enhancement: allow PUSCH allocations when PHICH falls in measurement Gap by resuming UL HARQ 4 years ago
Francisco 200006c4b7 bugfix,scheduler: avoid offset to increase decrease unboundedly when mcs is equal to 0 or max_mcs 4 years ago
Francisco 7076dbfef8 feature, scheduler: Add configuration parameter to set minimum TTI interval between TPCs 4 years ago
Francisco 4627ae9802 bugfix, scheduler: effectively disable adaptive mcs when target bler is unspecified 4 years ago
Francisco dedd9c09a7 feature, scheduler: Add abitility to set minimum aggregation level in PDCCH, and disable adaptive aggregation level based on target BLER 4 years ago
Francisco c5029fc266 feature - implement adaptive link adaptation in DL and UL 4 years ago
Francisco a17e3b71e7 set minimum snr under which the UL SNR estimate is not updated 4 years ago
Francisco 8df6ed07c6 sched small fixes - use 0.930 instead of 0.932 for max coderate. Allow computing mcs/tbs based on max coderate directly. Other small fixes 4 years ago
yagoda f90f6f0c7e adding MAC 0 padding support 4 years ago
Francisco 0e0835a805 move scheduler rbg/prb/cce mask and interval types and associated helper functions to a separate file 4 years ago
Francisco 4d3ff0d139 implementation of basic search for optimal rbgmask for subband CQI 4 years ago
Francisco f8b6eae2bf use of min DL cqi across all PRBS to compute required DL PRBs 4 years ago
Francisco 8564996eaf fix sched_dl_cqi method to compute cqi-optimal rbgmask 4 years ago
Francisco 485c6ee129 subband CQI feature - add K parameter in sched_interface::ue_cfg_t and update it from RRC 4 years ago
Francisco 84ad6dd8ee Integrated new sched_dl_cqi class in sched_ue_cell
- extend sched_dl_cqi interface to allow getting tti when cqi was last updated
- extend sched_dl_cqi to quickly get average cqi across the whole bandwidth
4 years ago
Francisco 16d05ff042 Remove time exponential averaging of DL cqi
- renaming: sched_cqi -> sched_dl_cqi
- testing: add unit test for sched_dl_cqi wideband cqi mode.
- feature: remove time exponential averaging of dl cqi
4 years ago
Francisco 28c24a89ef sched subband cqi - create method to get cqi-optimal RBG mask 4 years ago
Francisco eeb8ad6571 sched,feature - creation of sched_cqi class to manage the update of CQI in a subband CQI setting 4 years ago
Francisco b54bb35343 use rnti_map_t in scheduler 4 years ago
Francisco 1677abce8d create typedef for circular map of rntis. check return of gtpu ue creation 4 years ago
Francisco b619a2b649 application of new cache allocator to deques in scheduler 4 years ago
Francisco 04ded030ea srsenb,bugfix - avoid logging error message when UE sends CRNTI MAC CE for old rnti whose context has already been erased. 4 years ago
Francisco f7016633d2 sched, fix - avoid tpc commands when target pusch and pucch snr are not specified 4 years ago
Francisco d3c51fdad4 limit minimum UL grant size to accommodate both BSR and RLC headers 4 years ago
Francisco Paisana d39183419c
Separate TPC PUSCH and PUCCH target SINR (#2740)
* separate target pusch and pucch sinr configurations in tpc class and rr.conf
4 years ago
faluco 69726bc939 Remove two allocs in the prio queues in sched_time_pf. 4 years ago
faluco 7df308c756 Remove two mallocs in the stack:
1) Extend the small buffer to 64bytes for the move_callback class.
2) Replace a std::map for a fixed size circular map in sched_time_pf.
4 years ago
Francisco b7d4a72ea1 adt - fix circular map clear() and erase(it) functions 4 years ago
Francisco cdf72248f3 Reimplement batch-based background object/memory pool
Main changes:
- addition of pool utilities
- The node size/alignment and batch allocation threshold are now runtime arguments
- object pool and memory pool are not anymore based on the same class.
  The object pool cannot use intrusive free list because it would overwrite the object
  memory
4 years ago
Francisco fbeb87c53e remove unused parameters from mac::ue 4 years ago
Francisco b004c2024d integration of object pool in mac::ue for allocation of softbuffers. Definition of common object pool interface class 4 years ago
Francisco 8fda69a3dd refactor mac::ue cc_used_buffers_map class to use new circular_map container 4 years ago
Pedro Alvarez e1a852d4b8 Split split RLF timer and Inactivity timer 4 years ago
Pedro Alvarez 8194b5ec73 Added check for consequetive KOs in MAC. Change set_activity_user to pass activity and max KOs to RRC and trigger RLF timeout. 4 years ago
Francisco cc369aca1f sched - handle the case when the CRC is missing and max retx is reached 4 years ago
Francisco 4869b14de3 application of new circular map to mac::ue_db 4 years ago
Codebot 4523ee6087 rename srsLTE to srsRAN 4 years ago
Ismael Gomez 8d2197e751 Increase MAC UE circular buffer 4 years ago
Francisco 2054ad3f3c eliminate old BFS-based PDCCH allocator. Improvement the scheduler speed by ~2x 4 years ago
Francisco 6bec92fbc9 using new DFS-based PDCCH allocator as a default 4 years ago
Francisco 8347cabe4f implemented a DFS-based PDCCH allocator 4 years ago
Francisco fb48f4484c sched refactor - removal or cleanup of unused sched methods 4 years ago
Francisco 137a21d6b2 sched refactor - use simple enum to represent allocation result. Refactored logging messages when allocation fails. 4 years ago
Francisco c0a90c5aa8 refactored sf result resetting to avoid realloc of memory 4 years ago
Francisco 1f35c4dc8b sched, feature enhancement, bugfix - allow RAR DL grants with variable PRB size
Some bug fixes had to be solved:
- the cfi cannot be dynamic once we set a SIB/paging/RAR allocation. This is too avoid effective coderate to exceed its maximum
- the previous bugfix required adding the feature to cancel the last PDCCH+PDSCH allocation
4 years ago
Francisco 47f1175502 [sched, feature enhancement] - allow variable nof prbs allocated per SIB / Paging message 4 years ago
Francisco 76103065f7 collapse the 2-stage DCI generation process of SIB/Paging/RAR into one single stage in the scheduler. 4 years ago
Francisco 3a4ae3d69d extended broadcast+RAR DCI encoding scheduler tests 4 years ago
Francisco 16b5e1fd4d fix collision detection of n1pucch for the ACK and SR in the scheduler 4 years ago
Francisco 6feb311e17 remove instantiations of move-constructors and move assignment operators from cc_buffer_handler 4 years ago
Francisco ca7fe1349e remove unnecessary sfinae from bounded_vector. Use bounded_vector for UE cc buffers. Set ue cc used buffers remove_pdu method to private 4 years ago
Francisco d27e0be609 created special class to manage mac::ue currently allocated rx UL buffers. This class avoids mallocs 4 years ago
Francisco 3e9f93eb8a refactor - remove old log_filter and logmap libraries from the codebase 4 years ago
Francisco 770021e364 remove uneeded formatting and std::string creation/allocation in scheduler 4 years ago
Francisco fbbbf7886c sched,bugfix - reset harq used for msg3 correctly 4 years ago
Francisco d1483dc0f8 sched,bugfix - fix bitmask formatting. fix msg3 adaptive retx pdcch allocation 4 years ago
Francisco 837c5bdce5 clang tidy update. applied small fixes to warnings from clang-tidy 4 years ago
Francisco 20e341d0a1 mac,bugfix - fixed formatting of MAC and scheduler user-defined types 4 years ago
Francisco 5a1bf28fe1 optimization - minimization of number of std::string allocations for logging 4 years ago
Francisco d77b6e1d9c sched,optimization,refactor - use of custom formatter that avoids mallocs for getting bitmasks strings in hex and binary formats 4 years ago
Francisco f0ed1e06a8 documentation,bugfix - added documentation to new blocking queues, changed class names, and removed blocking pushes from the critical path 4 years ago
Francisco d1236fd62f stack,optimization - replaced previous block_queue design for new bounded queue in several places in the enb 4 years ago
Francisco b869b0d8e2 sched,bugfix&refactor: set dci_format before generating the remaining dci parameters in sched_ue::generate_dl_dci_format(...) 4 years ago
Francisco 77ac69796d sched,bug: change tbs/mcs derivation functions to forbid the use of alt cqi table for DCI format1A 4 years ago
Francisco 34e39a9835 Implementation of scheduler algorithm to avoid PUCCH collisions
- The cch_allocator considers the existence of a fixed PUCCH region dedicated to CQI, SR, and HARQ ACKs
- At the moment PUCCH multiplexing is not considered
- The PUCCH width was increased to accommodate possible PUCCH-ACK positions
4 years ago
Francisco 8ae8b31ba2 Allow collisions between PUCCH and Msg3 for 6 PRBs
- The UL Harq now stores the type of UL alloc (msg3 or data)
4 years ago
Francisco 7dcfe7bf0e sched: updated tbs calculation test. Fix edge cases that failed the test. 4 years ago
Francisco ed8ab3871c re-designed algorithm to compute lowest mcs that meets cqi,req_bytes,nof_prbs requirements in the scheduler 4 years ago
Francisco 9748c0be84 simplified tbs/mcs computation in scheduler 4 years ago
David Rupprecht aef6805d03 Added pcap net feature to eNodeB 4 years ago
Francisco 023cb0fdde log on allocation failure in mac::ue class 4 years ago
Francisco beed2ddbaa simplified tx softbuffer acquisition interface in mac::ue 4 years ago
Francisco e0da736a5f fix memory management of softbuffers in mac::ue class 4 years ago
Francisco 02539344fb move rx used buffers of mac::ue to separate cc buffer handler class 4 years ago
Francisco cc6c9ffc51 move tx/rx softbuffers of mac::ue to separate cc buffer handler class 4 years ago
Francisco 2f95862932 move tx payload buffers of mac::ue to separate cc buffer handler class 4 years ago
Francisco 9eb46cc134 fixed clang tidy warnings in mac::ue.cc 4 years ago
Xavier Arteaga 1e55d68b55 Removed set RNTI from API 4 years ago
Francisco 9a9ed01dda rename pdcch_sched to sf_cch_allocator 4 years ago
Francisco 9546634b37 use unique_ptr for sched_ue database in scheduler. This will minimize the time spent locking while adding new users 4 years ago
Francisco c1adaec038 refactored cce position table structs 4 years ago
Francisco 823da24a8e removed uneeded sched method to set sched algorithm, and made configured flag atomic 4 years ago
Francisco 6b3cf6c597 moved pdcch sched to separate file 4 years ago