658 Commits (5999b0d3a5e8ad5c8863961de0464009f9190a30)

Author SHA1 Message Date
Ismael Gomez 4e39982a19
Fix TSAN warnings in UE (#3021)
* Protect PHY SR signal management in a class

* Protect intra_freq_meas vector

* Protect cell and srate shared variables in thread-safe classes

* srsue,srsenb: include TSAN options header

* Protect ue_rnti_t and rnti scheduling windows behind thread-safe classes

* Protect access to state variable in sync_state

* Protect access to metrics configuration

* Protect access to is_pending_sr

* Protect access to UE prach worker

* Protect UE mux

* Avoid unlocking mutex twice

* Fix data races in RF/ZMQ

* Fix data races in intra_measure and PHY

* Fix minor data races in MAC

* Make TSAN default behaviour to not halt on error

* Fix blocking in intra cell measurement

* Address comments

Co-authored-by: Andre Puschmann <andre@softwareradiosystems.com>
4 years ago
Xavier Arteaga aef3e5a40a More NR PHY test and GNB PHY development 4 years ago
Xavier Arteaga d49734b1bc SRSENB: Refactor to accomodate 5G NR 4 years ago
Xavier Arteaga b1e4720721 SRSUE/SRSENB: added tx_enable flag in worker_end 4 years ago
Xavier Arteaga 027201d457 SRSUE/SRSENB: Refactor NR workers to generalise lower PHY 4 years ago
Xavier Arteaga fc5d069743 SRSUE: Default PHY measurements to NAN 4 years ago
Andre Puschmann 94959b5318 srsue,test: reorganize test folders and move to components like we in PHY 4 years ago
Xavier Arteaga a31f3d42ce Added RF NR search tool and added baseband file 4 years ago
Xavier Arteaga 157af40417 Fix shadow variables in sync.cc 4 years ago
Xavier Arteaga 3a011155db SRSUE: Make sure PHY reset is done when SYNC is IDLE 4 years ago
Xavier Arteaga d74f70289e SRSUE: fix last reported RI state 4 years ago
Andre Puschmann b0a2f31478 prach: protect configuration and state getters with mutex
purely TSAN with unit-test based approach that protects
the state getters and configuration routines with a mutex
4 years ago
Andre Puschmann 98a91a2057 sync: protect sync_state, access ue_sync object only from one thread
races detected with TSAN, primarily the ue_sync object which isn't
thread-safe is accessed by all workers to set the CFO and by the
sync thread to receive samples (which read the CFO).

The patch introduces shadow variables that are updates from the
main thread before/after the sync is executed. The atomic shadow
variables can then be read from otherthreads without holding a
mutex, i.e. blocking the sync.
4 years ago
Xavier Arteaga 2d0a21f779 Move radio frequency mapping out of the PHY common into the PHY reset method 4 years ago
Xavier Arteaga 5c55ff24ec Minor UE aesthetical changes 4 years ago
Xavier Arteaga 807b60988d Wait for PHY workers to transmit before considering SYNC in IDLE 4 years ago
Xavier Arteaga 93b35676e7 Solve concurrency issue when setting up SCell measurement 4 years ago
Xavier Arteaga 7185ec6beb PHY CC configuration is stashed and applied in the next TTI 4 years ago
Xavier Arteaga 235a664120 SRSUE: Removed PUSCH-DMRS/SRS pregeneration methods 4 years ago
Xavier Arteaga aab2211058 Protect UE PHY SCell configuration 4 years ago
Xavier Arteaga a7dcd629ef Cell search waits for IDLE transition before launch 4 years ago
Xavier Arteaga cc2a6dc269 Review cell selection and SCell configuration during HO 4 years ago
Xavier Arteaga 48e0fc3c99 Implemented initial PBCH decoder and refactored SSB candidate selection 4 years ago
yagoda 8d2568ed2c small fix for console print for cyclic prefix 4 years ago
yagoda 9501283c1c fixing support for extended Cyclic Prefix
small cosmetic fixes of CP code
4 years ago
Xavier Arteaga 5eadc06dd4 Intra-frequency miscellanous changes 4 years ago
Xavier Arteaga 170fbefbf5 Avoid SCell receiver to copy 4 years ago
Xavier Arteaga d39402ed54 Added TTI trigger condition to intra-frequency measurement base 4 years ago
Xavier Arteaga c80f91ac9e Fix compilation 4 years ago
Xavier Arteaga ac9dc6f31d Compute Performance 4 years ago
Xavier Arteaga 0b3f4e5de0 Improvements in NR cell search 4 years ago
Xavier Arteaga fb7623f5b6 Initial intra frequency NR cell search and test 4 years ago
Xavier Arteaga 60015e7ceb Made intra frequency cell search and measurment generic 4 years ago
Xavier Arteaga a57336d64f Integrate periodic SSB measurement in SRSUE and fix related defects 4 years ago
Xavier Arteaga 60d1708b80 Initial SSB measurement implementation 4 years ago
Xavier Arteaga 1396c2a1e2 Mulpiple CSI measurement fixes. Channel and sync metrics from CSI measurements 4 years ago
Xavier Arteaga 653177ca7c SRSUE: Refactored work_dl for NR. Added NZP-CSI-RS measurement 4 years ago
Ismael Gomez 0b91598e36 Move mlockall() to main() in srsUE and srsENB 4 years ago
Xavier Arteaga 9fb091262a Duplicate NR PDSCH transmits ACK and add ACK Tx TTI to trace 4 years ago
Xavier Arteaga 95dafcb413 SRSUE: fix NR carrier PCI in metrics 4 years ago
Andre Puschmann 598594c51a all: bunch of pass by const& changes suggested by LGTM 4 years ago
Xavier Arteaga e1ff824cc2 SRSUE avoid NR SR in UCI for PUSCH 4 years ago
Xavier Arteaga 334b308c35 Fix DCI NR configuration from main configuration 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 58ce75d3b4 Fixes coverity 369617 4 years ago
Matan Perelman 7ee52dc676 srsUE: Add option to filter N_id_2 / PSS to configuration 4 years ago
Andre Puschmann 7817f12f1f phy_common: reduce log level to info when UL grant is tried to activate twice
in accordance with discussion in #2717 we reduce the log level to info
to avoid failing tests due to that event
4 years ago
Xavier Arteaga ab6a5ef17a Added NR DCI conversion to string for formats 1_0 and 1_1 4 years ago
Andre Puschmann c1e4385f50 worker_pool: fix wrong log level when setting worker config 4 years ago
Xavier Arteaga 407903e0d6 SRSUE: refactor carrier setting for accepting a dynamic carrier configuration 4 years ago