Pedro Alvarez
c74b2dd633
Fix some warnings in PHY due to array parameter mismatch for a few functions
3 years ago
Francisco
f2a56c9139
simplification of multiqueue design.
...
- the consumer does multi-staged waiting:
1. spins first across all queues in a RR fashion
2. each queue access is done with a try_lock.
3. if the try_lock fails, it increases the number of spins needed
2. if no queue had data, the consumer sleeps for 100 usec.
- no differentiation between queues, in terms of notification features
4 years ago
Francisco
b41aba2a03
fix task scheduler test
4 years ago
Francisco
2d6a878826
change interface to create multiqueue queues
4 years ago
yagoda
9501283c1c
fixing support for extended Cyclic Prefix
...
small cosmetic fixes of CP code
4 years ago
Andre Puschmann
81c1851bbd
rlc_am_test: fix TSAN isses and removing info log when dropping PDU
4 years ago
faluco
6fb81c7619
- Add a mutex with priority inheritance for srslog internal structures.
...
- Replace shared_variable members in log_channel class in favor of atomics.
- Remove the small string optimization in srslog now that we dont allocate anymore.
- Trim some critical sections in srslog.
4 years ago
Francisco
996d8ef74d
multiqueue bugfix for non-blocking pushes when queue is full
4 years ago
Francisco
99abae9e6a
fix multiqueue producer to consumer notification to avoid deadlocks
4 years ago
Francisco
0d800eb8f6
stack, multiqueue - bugfix for multiqueue destruction, and addition of unit test
4 years ago
Francisco
ef9d1b8c13
stack optimization - reduction of contention in multiqueue class
...
With the new design, each queue created in the multiqueue object has its own mutex.
Pushing tasks to separate queues will, therefore, not cause contention.
There will be, however, still contention between the popping thread and the pushing threads.
4 years ago
Francisco
cd51537234
add comment explaining the use case of cached_alloc
4 years ago
Francisco
28847badcf
implementation of custom allocator for memory caching. This allocator may be used for unbounded queues
4 years ago
faluco
aef18f9931
Implement a benchmark for measuring latency in the foreground threads when pushing log entries.
...
This benchmark runs with several threads to test contention.
4 years ago
Xavier Arteaga
fb5dfb3a86
Improved NR unit test
4 years ago
Xavier Arteaga
6c39a5e4ff
Added PDSCH DMRS aditional unpacking
4 years ago
Andre Puschmann
4dd17aee45
rrc/phy/nr: calculate tuning freq of NR carrier from RRC signaling params
...
skip initial tuning to hard-coded NR frequency and use RRC-provided
values to calculate center frequency
4 years ago
AlaiaL
862784ee46
Fixed coverity 369719
4 years ago
AlaiaL
82788ca094
Fixed issues from coverity:
...
- 370233
- 370234
- 370239
- 370240
- 370241
- 370242
- 370243
- 370295
4 years ago
faluco
1ccb62af3d
Apply srsLTE formatting rules to srsLog. They were previously formatted with different rules when the project lived in the external rapo.
4 years ago
Francisco
ff3fc0826b
asn1 fixes and improvements
...
- use const char* instead of std::string in enumerated<>::to_string() to avoid mallocs.
- Remove the use of "typedef", and use "using" keyword instead.
- Fix rrc_nr::setup_release_c<>::to_string() broken linkage.
4 years ago
Francisco
28f787f1de
extend timer handler unit test to check correct time wheel implementation
4 years ago
Francisco
2b572f5376
fix overwrite of timer timeout when it matches previous time wheel position
4 years ago
Francisco
ce47cf5910
fix - re-add log flush to srsran_assert
4 years ago
Francisco
3b78bf3730
bugfix - fix memcheck warnings. move instructions with side effects outside of asserts
4 years ago
David Rupprecht
6b41ae7e8b
Updated PDCP config struct for rat type
4 years ago
Xavier Arteaga
53e41a165c
Revert zeros around DC REs in NR PDSCH
4 years ago
Francisco
22024ac35d
implemented bounded_bitset::find_lowest(...) for both reverse and non-reverse bit ordering. Applied this method to UL scheduling search for PRB intervals
4 years ago
Francisco
3f15fc2811
implemented bounded_bitset::find_first(...)
4 years ago
David Rupprecht
f42d4dbc28
Refactored carrier config
4 years ago
Xavier Arteaga
abfc1da921
Multiple NR-PUSCH fixes
4 years ago
Xavier Arteaga
01ce0718be
NR-PUSCH RE mapping correction and NR-SCH detailed grant information
4 years ago
David Rupprecht
fe8727050b
Added new rrc_nr to phy flattening functions and fixes
4 years ago
Xavier Arteaga
e4e3456d76
Refactored PDSCH/PUSCH decoder for LDPC early stopping
4 years ago
Francisco
e37968410e
simplification of timers handler design, relying solely on one time wheel.
4 years ago
Francisco
60896e30b5
implementation of time wheel-based timer handler, using a circular array and intrusive list
4 years ago
Xavier Arteaga
80f5c82b53
Fix formatter test
4 years ago
Andre Puschmann
c9da21c9bb
mac_nr: add error handling when unpacking SCH MAC PDU
...
* only handle PDU if unpacking was successfull
* add TC unpacking with malformed PDU
4 years ago
Xavier Arteaga
2e3c00aa97
NR PDSCH zeroes RE around the DC. Added delay and CFO emulation to phy_dl_nr_test
4 years ago
Francisco
21718af3b6
avoid allocating std::string to get lcid radio bearer name. Refactored the lte radio bearer enum type
4 years ago
Andre Puschmann
6dd8c21073
mac_sch_pdu_nr: add unpacking of TA CE in DL-SCH
...
also add basic test to verify correct unpacking
4 years ago
David Rupprecht
82c9636156
Refactor pdcp ctor seperate the configure function
4 years ago
David Rupprecht
f9ea02b6bf
Added functions for rrc reestablishing procedure if nr reconfig failes
4 years ago
Xavier Arteaga
58a9ef6e7f
Minor NR PHY tweaks and aesthetic
4 years ago
Xavier Arteaga
49731ab5a1
Initial NR-DCI refactor
...
Added NR DCI 1_1 size
Several DCI NR fixes
4 years ago
Xavier Arteaga
1dcd75a6c7
Ignore CRC for RV!=0 in phy_dl_nr_test
4 years ago
Xavier Arteaga
ecd2c1cdcc
Improved LDPC decoded performance and other NR aesthetical changes
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
460d7a8f4f
fix memory pool test - placed the pool state into a shared_ptr so that the callbacks still have a valid handle when the pool is destroyed
4 years ago
Francisco
9bec13731a
adt unit test - fix memory pool test
4 years ago