Commit Graph

8146 Commits

Author SHA1 Message Date
Andre Puschmann e7aa484308 rf_zmq_test: remove srsran.h include 2021-05-27 17:26:39 +02:00
Andre Puschmann bb6a5ebe80 tsan: add TSAN options file to set some default flags and exclude some libs from checks 2021-05-27 17:26:39 +02:00
Andre Puschmann 28399dd876 rf_zmq_imp: remove sleep 2021-05-27 17:26:39 +02:00
Andre Puschmann 574459fd90 rf: remove srsran.h include 2021-05-27 17:26:39 +02:00
Xavier Arteaga f33731ecd4 Disable irrelevant unit/component test by default 2021-05-27 16:06:17 +02:00
David Rupprecht 70d232c917 Fix run_lte script 2021-05-27 13:29:23 +02:00
Andre Puschmann d9a5d3f95a pcap_base: increase PDU queue length
some systems with slower HDD seem to have issues
writing the PDUs to disk. increasing length to see if that helps.
2021-05-27 13:29:00 +02:00
Xavier Arteaga a245039cf3 Initial NR-PBCH-DMRS integration 2021-05-27 13:08:42 +02:00
Pedro Alvarez 997f7db23a Small fixes for observer.h missing std::size_t 2021-05-26 22:16:22 +02:00
Pedro Alvarez c74b2dd633 Fix some warnings in PHY due to array parameter mismatch for a few functions 2021-05-26 22:16:22 +02:00
Andre Puschmann b40867ffec ue,rrc: add simple connection setup procedure
this is an attempt to fix #2850 by defering the transmission of
the connection setup complete until the PHY has applied
the dedicated config in the connection setup.
2021-05-26 14:43:52 +02:00
Andre Puschmann c1ad867824 epoll_helper: use std::atomic to protect exit called from different thread 2021-05-26 14:25:38 +02:00
Andre Puschmann d8b2cfcef8 zmq,ringbuffer: protect concurrent access
some issue found through TSAN execution
2021-05-26 14:25:38 +02:00
Andre Puschmann f1e6a975de thread_pool: fix concurrent access of state variable
the thread workers need access to their current state to exit properly
when they are set to state STOP. However, since the state is kept in
a std::vector for all workers, it seems more appropiate to add a per-thread
running variable rather then mutexing the entire vector.
2021-05-26 14:25:38 +02:00
Andre Puschmann 66770a57e3 enb_phy_test: fix concurrent access between PHY worker and Stack
PHY and Stack are using a normal std::queue to communicate with each
other. Concurrent access among the threads needs to be protected.
2021-05-26 14:25:38 +02:00
Xavier Arteaga 48e0fc3c99 Implemented initial PBCH decoder and refactored SSB candidate selection 2021-05-26 14:19:34 +02:00
Xavier Arteaga de1b25558f Added PRN sequence apply bit with state 2021-05-26 14:19:34 +02:00
Xavier Arteaga 1f38817b3b Added random bit vector generator 2021-05-26 14:19:34 +02:00
Xavier Arteaga bcb91d6173 srsran_vec_sprint_hex returns number of written characters 2021-05-26 14:19:34 +02:00
Xavier Arteaga 3634e96c3e Added SSB measure test add/put/encode time measure 2021-05-26 14:19:34 +02:00
Xavier Arteaga 0aa5b14145 Initial NR PBCH encoding 2021-05-26 14:19:34 +02:00
Xavier Arteaga d66dac0ab2 Added bit sequence state apply 2021-05-26 14:19:34 +02:00
Francisco fe0dc77c03 bugfix, s1ap: fix uninitialized variable access in s1ap_test 2021-05-26 11:35:32 +02:00
Francisco 297a2394b8 bugfix, s1ap: fix failing s1ap_test 2021-05-26 11:35:32 +02:00
yagoda 8d2568ed2c small fix for console print for cyclic prefix 2021-05-26 11:11:44 +02:00
Francisco 7076dbfef8 feature, scheduler: Add configuration parameter to set minimum TTI interval between TPCs 2021-05-25 21:51:10 +02:00
Francisco 4627ae9802 bugfix, scheduler: effectively disable adaptive mcs when target bler is unspecified 2021-05-25 21:51:10 +02:00
Francisco c75777c618 bugfix, sched: avoid compilation issue due to uninitialized variable access 2021-05-25 21:50:56 +02:00
Francisco 329cf02cd0 bugfix, sched: ensure max_coderate is respected in scheduler 2021-05-25 21:50:56 +02:00
Francisco a8cccd7a10 bugfix, sched: fix aggregation level derivation to avoid L > 3 2021-05-25 21:50:56 +02:00
Francisco dedd9c09a7 feature, scheduler: Add abitility to set minimum aggregation level in PDCCH, and disable adaptive aggregation level based on target BLER 2021-05-25 21:50:56 +02:00
Francisco fb4a363abd fix formatting errors in scheduler 2021-05-24 19:33:27 +02:00
Francisco 1f1665bab7 improve adaptive offset adjustment log lines 2021-05-24 19:33:27 +02:00
Francisco c5029fc266 feature - implement adaptive link adaptation in DL and UL 2021-05-24 19:33:27 +02:00
Francisco 8811b7c9a7 fix handling of CRNTI CE in the RRC. The scheduler should not allocate more grants for the new rnti after this point. 2021-05-24 19:33:16 +02:00
Francisco 59513c0eed fix bearer reactivation in case the RRC session is recovered after max KO 2021-05-24 19:33:16 +02:00
Andre Puschmann fbb151af2d enb,rrc: fix bearer re-activation after max KO
this patch makes sure that if RBs have been deactivated after
max KO on either the DL or the UL, they are reactivated if either
of them is working again.

UL/DL are always activated together, even if just one of them
recovers. The KO counter (or timer), however, is not stopped implicitly.
2021-05-24 19:33:16 +02:00
Francisco 59db527481 fix reestablishment reject logging level 2021-05-24 19:33:16 +02:00
Francisco a17e3b71e7 set minimum snr under which the UL SNR estimate is not updated 2021-05-24 17:25:07 +02:00
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 2021-05-24 17:25:07 +02:00
Francisco 31936c9754 bugfix - printf formatting incorrect in bounded_bitset method 2021-05-24 17:24:50 +02:00
Francisco 41bc7e4810 avoid letting repeated s1ap::user_release calls to deem the user as in zombie state. Use timer instead to auto-remove user from s1ap if no response from mme arrives 2021-05-24 17:24:31 +02:00
Francisco e07ef0aa18 avoid releasing ues doing s1 handover before TS1relocoverall expiry 2021-05-24 17:24:31 +02:00
Francisco b093576634 avoid sending UEContextReleaseRequest from Source eNB during S1 Handover. 2021-05-24 17:24:31 +02:00
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
2021-05-24 17:24:12 +02:00
Francisco 60a8ee0af9 multiqueue optimization - use condition_var wait_for() method, use queue try_lock in the consumer side 2021-05-24 17:24:12 +02:00
Francisco b41aba2a03 fix task scheduler test 2021-05-24 17:24:12 +02:00
Francisco 2d6a878826 change interface to create multiqueue queues 2021-05-24 17:24:12 +02:00
Francisco f705735093 optimization - only allow some multiqueue queues to notify the multiqueue consumer of the arrival of tasks 2021-05-24 17:24:12 +02:00
Ismael Gomez 8414b2c2c9 Define iszero in csv_stdout 2021-05-22 16:59:27 +02:00