Francisco
b7d4a72ea1
adt - fix circular map clear() and erase(it) functions
2021-04-07 22:26:42 +01:00
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
2021-04-07 12:02:22 +01:00
Francisco
fbeb87c53e
remove unused parameters from mac::ue
2021-04-07 12:02:22 +01:00
Francisco
b004c2024d
integration of object pool in mac::ue for allocation of softbuffers. Definition of common object pool interface class
2021-04-07 12:02:22 +01:00
Francisco
8fda69a3dd
refactor mac::ue cc_used_buffers_map class to use new circular_map container
2021-04-02 11:41:08 +01:00
Pedro Alvarez
e1a852d4b8
Split split RLF timer and Inactivity timer
2021-04-01 13:21:43 +01:00
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.
2021-04-01 13:21:43 +01:00
Francisco
cc369aca1f
sched - handle the case when the CRC is missing and max retx is reached
2021-03-31 20:52:02 +01:00
Francisco
4869b14de3
application of new circular map to mac::ue_db
2021-03-22 14:58:25 +00:00
Codebot
4523ee6087
rename srsLTE to srsRAN
2021-03-21 21:47:01 +01:00
Ismael Gomez
8d2197e751
Increase MAC UE circular buffer
2021-03-19 20:31:34 +00:00
Francisco
2054ad3f3c
eliminate old BFS-based PDCCH allocator. Improvement the scheduler speed by ~2x
2021-03-19 16:31:06 +00:00
Francisco
6bec92fbc9
using new DFS-based PDCCH allocator as a default
2021-03-19 16:31:06 +00:00
Francisco
8347cabe4f
implemented a DFS-based PDCCH allocator
2021-03-19 16:31:06 +00:00
Francisco
fb48f4484c
sched refactor - removal or cleanup of unused sched methods
2021-03-18 17:04:45 +00:00
Francisco
137a21d6b2
sched refactor - use simple enum to represent allocation result. Refactored logging messages when allocation fails.
2021-03-18 17:04:45 +00:00
Francisco
c0a90c5aa8
refactored sf result resetting to avoid realloc of memory
2021-03-17 19:54:44 +00:00
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
2021-03-16 19:27:25 +00:00
Francisco
47f1175502
[sched, feature enhancement] - allow variable nof prbs allocated per SIB / Paging message
2021-03-16 19:27:25 +00:00
Francisco
76103065f7
collapse the 2-stage DCI generation process of SIB/Paging/RAR into one single stage in the scheduler.
2021-03-16 19:27:25 +00:00
Francisco
3a4ae3d69d
extended broadcast+RAR DCI encoding scheduler tests
2021-03-16 19:27:25 +00:00
Francisco
16b5e1fd4d
fix collision detection of n1pucch for the ACK and SR in the scheduler
2021-03-12 20:07:32 +00:00
Francisco
6feb311e17
remove instantiations of move-constructors and move assignment operators from cc_buffer_handler
2021-03-12 19:10:15 +00:00
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
2021-03-12 19:10:15 +00:00
Francisco
d27e0be609
created special class to manage mac::ue currently allocated rx UL buffers. This class avoids mallocs
2021-03-12 19:10:15 +00:00
Francisco
3e9f93eb8a
refactor - remove old log_filter and logmap libraries from the codebase
2021-03-11 20:10:54 +00:00
Francisco
770021e364
remove uneeded formatting and std::string creation/allocation in scheduler
2021-03-11 15:18:16 +00:00
Francisco
fbbbf7886c
sched,bugfix - reset harq used for msg3 correctly
2021-03-10 22:42:39 +00:00
Francisco
d1483dc0f8
sched,bugfix - fix bitmask formatting. fix msg3 adaptive retx pdcch allocation
2021-03-10 22:42:39 +00:00
Francisco
837c5bdce5
clang tidy update. applied small fixes to warnings from clang-tidy
2021-03-10 16:18:55 +00:00
Francisco
20e341d0a1
mac,bugfix - fixed formatting of MAC and scheduler user-defined types
2021-03-09 16:23:08 +00:00
Francisco
5a1bf28fe1
optimization - minimization of number of std::string allocations for logging
2021-03-09 16:23:08 +00:00
Francisco
d77b6e1d9c
sched,optimization,refactor - use of custom formatter that avoids mallocs for getting bitmasks strings in hex and binary formats
2021-03-09 16:23:08 +00:00
Francisco
f0ed1e06a8
documentation,bugfix - added documentation to new blocking queues, changed class names, and removed blocking pushes from the critical path
2021-03-08 14:49:14 +01:00
Francisco
d1236fd62f
stack,optimization - replaced previous block_queue design for new bounded queue in several places in the enb
2021-03-08 14:49:14 +01:00
Francisco
b869b0d8e2
sched,bugfix&refactor: set dci_format before generating the remaining dci parameters in sched_ue::generate_dl_dci_format(...)
2021-03-06 21:27:52 +01:00
Francisco
77ac69796d
sched,bug: change tbs/mcs derivation functions to forbid the use of alt cqi table for DCI format1A
2021-03-06 21:27:52 +01:00
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
2021-03-05 14:59:44 +01:00
Francisco
8ae8b31ba2
Allow collisions between PUCCH and Msg3 for 6 PRBs
...
- The UL Harq now stores the type of UL alloc (msg3 or data)
2021-03-05 14:59:44 +01:00
Francisco
7dcfe7bf0e
sched: updated tbs calculation test. Fix edge cases that failed the test.
2021-03-04 23:40:35 +01:00
Francisco
ed8ab3871c
re-designed algorithm to compute lowest mcs that meets cqi,req_bytes,nof_prbs requirements in the scheduler
2021-03-04 23:40:35 +01:00
Francisco
9748c0be84
simplified tbs/mcs computation in scheduler
2021-03-04 23:40:35 +01:00
David Rupprecht
aef6805d03
Added pcap net feature to eNodeB
2021-03-03 09:50:15 +01:00
Francisco
023cb0fdde
log on allocation failure in mac::ue class
2021-03-01 20:10:57 +01:00
Francisco
beed2ddbaa
simplified tx softbuffer acquisition interface in mac::ue
2021-03-01 20:10:57 +01:00
Francisco
e0da736a5f
fix memory management of softbuffers in mac::ue class
2021-03-01 20:10:57 +01:00
Francisco
02539344fb
move rx used buffers of mac::ue to separate cc buffer handler class
2021-03-01 20:10:57 +01:00
Francisco
cc6c9ffc51
move tx/rx softbuffers of mac::ue to separate cc buffer handler class
2021-03-01 20:10:57 +01:00
Francisco
2f95862932
move tx payload buffers of mac::ue to separate cc buffer handler class
2021-03-01 20:10:57 +01:00
Francisco
9eb46cc134
fixed clang tidy warnings in mac::ue.cc
2021-03-01 20:10:57 +01:00