Commit Graph

4024 Commits

Author SHA1 Message Date
Andre Puschmann 6372f89c09 s1ap_test: fix compilation on 32bit 2021-07-05 12:29:49 +02:00
Andre Puschmann f292042f66 rlc_am_lte: use try-lock when building status PDU
the patch uses try-lock whenever a status PDU is tried
to be built. This makes sure that when the lock is currently
hold (e.g. by a thread processing rx PDUs) the generation
of the status PDUs is not taking too long and blocking the calling
thread. Instead the status PDU generation is deferred to the next
Tx opportunity.

It's a probabilistic approach that assumes that at some stage the
lock can in fact be acquired.
2021-07-05 09:28:29 +02:00
Andre Puschmann a9d21696c5 rlc_am_lte: make number of RLC SDUs per PDU a compile-time parameter
this allows to set the maximum number of RLC SDUs included
in a single PDU at compile time.
2021-07-05 09:28:29 +02:00
David Rupprecht f90e359208 Moved cp to test common 2021-07-02 17:23:06 +02:00
Andre Puschmann bbcaa49429 network_utils: fix TSAN detected race 2021-07-02 17:22:49 +02:00
Andre Puschmann a9ad408f51 task_scheduler: use block_queue for internal tasks
TSAN detected wrong use of the old deque-based internal queue. To avoid
unwanted/undetected mis-use the patch uses the thread-safe block_queue
data structure instead.
2021-07-02 17:22:49 +02:00
Andre Puschmann 626f24c9f9 block_queue: use class mutex to protect size() getter
detected with TSAN
2021-07-02 17:22:49 +02:00
Andre Puschmann 0e6e3d201e sys_metrics: reduce log level when measurement interval is shorter than expected
on highly loaded systems it can happen that the get_metrics() is called
twice within a few houndred milliseconds. Logging a warning in this
case isn't needed, so reduce to info.

on the other hand, 100ms might be to convervative. Patch also
lowers the smallest interval to 10ms
2021-07-02 12:01:39 +02:00
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>
2021-07-01 17:39:54 +02:00
David Rupprecht 4ed33fed7d Fixed unpack bytes limit 2021-07-01 17:02:29 +02:00
Pedro Alvarez 05fbca43d1 Fix GCC 11 warning in dyn_array 2021-07-01 10:55:11 +01:00
Pedro Alvarez 1b676aa406 Moved lib GTPU to its own folder 2021-06-30 18:19:20 +01:00
Pedro Alvarez 865298f8d5 Moved lib PDCP to its own folder 2021-06-30 18:19:20 +01:00
Pedro Alvarez 171d5727be Moved lib RLC into it's own folder 2021-06-30 18:19:20 +01:00
Francisco Paisana 4d014e7ceb s1ap,feature: make the ts1 reloc timers configurable via the enb.conf 2021-06-29 20:39:32 +02:00
Andre Puschmann b6a3b8c5b1 rlc: fix dtor
TSAN was complaining about destroying a locked mutex
2021-06-29 14:27:07 +02:00
faluco a70ad58440 Fix a data race in the UHD class wrapper where the last error member was being set concurrently causing random crashes.
Introduce a new macro to catch UHD exceptions and log them directly instead of storing an error string, similar to what errno does.

Remove usrp logging helpers that depend on the now removed member since all calls potentially log the error directly.
2021-06-28 21:16:56 +02:00
Andre Puschmann 4d11e5552a rrc,ue: for RRC conn release, delay transition to RRC idle by 60ms as per TS 36.331
when receiving RRC connection release all actions shall be delayed by 60ms as
per the standard
2021-06-28 17:35:02 +02:00
Andre Puschmann 368c7b9e4f ue,stack: clear all EPS bearers when going RRC idle
the EPS bearer manager was only informed when a single DRB
was removed but not when entering idle which requires to
remove all bearers.

This cause the service request to fail.
2021-06-28 17:35:02 +02:00
faluco e20934583e Remove an unsafe assert in the log backend that could be triggered under very certain circumstances.
RFCI has detected this assert failing in the log_backend_test. I have not been able to reproduce this locally but my theory is the following one:
one of the unit tests does the following:

backend.start();
backend.stop();

the internal running_flag member could be set to true and then to false by the main thread before the worker thread calls do_work(). If this happens
the assert will be triggered, which is wrong and too conservative, so remove the assert.
2021-06-28 10:02:22 +02:00
Xavier Arteaga 6f5614a0cc Suggested modifications on gNb MAC/PHY interface 2021-06-28 00:27:36 +02:00
Xavier Arteaga 8378c85ec4 Refactored gNb PHY 2021-06-28 00:27:36 +02:00
Xavier Arteaga aef3e5a40a More NR PHY test and GNB PHY development 2021-06-28 00:27:36 +02:00
Xavier Arteaga 9126ad3b8b Added NR type1 RIV function helper 2021-06-28 00:27:36 +02:00
Xavier Arteaga d49734b1bc SRSENB: Refactor to accomodate 5G NR 2021-06-28 00:27:36 +02:00
Xavier Arteaga e98a6f9eea Make ACK M constant i UEDLNR 2021-06-28 00:27:36 +02:00
Xavier Arteaga 567c7c9c77 Create TTI semaphpore default constructor 2021-06-28 00:27:36 +02:00
Andre Puschmann 483a216bd5 ue,stack: refactor handling of radio bearears in UE stack
this is a rather large commit that is hard to split because
it touches quite a few components.

It's a preparation patch for adding NR split bearers in the next
step.

We realized that managing RLC and PDCP bearers for both NR and LTE
in the same entity doesn't work. This is because we use the LCID
as a key for all accesses. With NR dual connectivity however we
can have the same LCID active at the same time for both LTE and NR
carriers.

The patch solves that by creating a dedicated NR instance for RLC/PDCP
in the stack. But then the question arises for UL traffic on, e.g. LCID 4
what PDCP instance the GW should use for pushing SDUs. It doesnt' know
that. And in fact it doesn't need to. It just needs to know EPS
bearer IDs. So the next change was to remove the knowledge of what
LCIDs are from the GW. Make is agnostic and only work on EPS bearer IDs.

The handling and mapping between EPS bearer IDs and LCIDs for LTE
or NR (mainly PDCP for pushing data) is done in the Stack because
it has access to both.

The NAS also has a EPS bearer map but only knows about default and
dedicated bearers. It doesn't know on which logical channels they
are transmitted.
2021-06-24 16:52:58 +02:00
Andre Puschmann a4b2a065ff pdcp: reword warning when dropping PDU 2021-06-24 16:52:58 +02:00
Andre Puschmann 7113e55d53 rlc: refactor RLC entity to use smart pointers for holding bearers
this patch mainly modernizes the bearer creation to use smart pointers.
that allows to simplify the error handling.

ue_stack is changed to match new interface. This commit compiles
but doesn't work.
2021-06-24 16:52:58 +02:00
David Rupprecht 6d5391756c Refactor build of RLC NR config 2021-06-24 16:52:58 +02:00
David Rupprecht d1d8500ce5 Add testcase for reconfiguration 2021-06-24 16:52:58 +02:00
David Rupprecht ec19919246 Fix NGAP valgrind test 2021-06-22 20:53:43 +02:00
Xavier Arteaga eb7980f2b3 Initial UE synchronization for NR 2021-06-22 16:36:24 +02:00
Pedro Alvarez 4d13906760 Increase logging level of MAC mismatches to warning in PDCP 2021-06-22 15:35:38 +01:00
Andre Puschmann e1fb58d76e rlc_um: reduce log level for message handling lost PDUs
when a lost PDU is detected a warning will be logged. In theory
this could be info as well but a warning may help to detect issues
in tests. The same event causes multiple other warnings to be logged,
which is very spammy. The patch reduces the log level for
those messages to info.
2021-06-22 13:06:57 +02:00
Pedro Alvarez aae266e848 Added configuration option for S1AP SCTP bind port 2021-06-22 11:11:54 +01:00
David Rupprecht 85d7a851fb Added 5G NAS PCAP support 2021-06-22 09:02:07 +02:00
Francisco 78acf81cf0 bugfix,sched: avoid instability in TPCs around PHR~0 2021-06-21 17:35:24 +01:00
Xavier Arteaga b1e4720721 SRSUE/SRSENB: added tx_enable flag in worker_end 2021-06-21 18:07:53 +02:00
Xavier Arteaga 027201d457 SRSUE/SRSENB: Refactor NR workers to generalise lower PHY 2021-06-21 18:07:53 +02:00
Andre Puschmann 83bf5dcd49 rlc_am_lte: reduce time holding Tx mutex when processing status PDUs
the patch is a re-implementation of the customer-specific optimization
we did in order to reduce the time the RLC holds the Tx mutex when
processing an incoming status PDU.

The patch makes sure to never operate on a raw mutex but instead
uses the deadlock-avoiding RAII lock.
2021-06-21 13:28:07 +02:00
Ismael Gomez 5aa5a8e997 Revert UE changes 2021-06-18 23:17:14 +02:00
Ismael Gomez e35a0d72fa Revert UE changes 2021-06-18 23:17:14 +02:00
Ismael Gomez dd9889e07c Add carrier index to uplink PCAP captures 2021-06-18 23:17:14 +02:00
Bedran Karakoc c280ac5ad6 Introducing extended NGAP functionality
Remove unused logger for now in ngap::ue to pass tests
2021-06-17 13:05:29 +02:00
Francisco 5a82a63bb5 bugfix,srsenb: fix intraenb handover softbuffer allocation during handover 2021-06-16 10:21:13 +01:00
Xavier Arteaga cf09044453 Optimised random bit (unpacked) and byte (packed) generator 2021-06-15 12:44:21 +02:00
Xavier Arteaga d2a19c3043 SCH minimum number of iterations to 2 to reduce systematic false alarm probability 2021-06-15 12:44:21 +02:00
Xavier Arteaga ef4c978d72 Optimized byte random generator 2021-06-15 12:44:21 +02:00
Andre Puschmann 475c033440 rlc_am_test: extend status PDU test
add full test with malformed status PDU
2021-06-15 11:01:02 +02:00
Andre Puschmann d7204df896 rlc_am_lte: check rx window first when receiving status PDU
move rx window check up so no actions are taken when receiving
malformed status PDU
2021-06-15 11:01:02 +02:00
Xavier Arteaga 2cd8ba3a1a PDCCH test skips 100PRB for ARM 2021-06-14 20:32:51 +02:00
Francisco 2a009eb340 sched,feature: Enable configuring maximum coderate for SIB allocations 2021-06-14 18:55:51 +01:00
Francisco 6ababf401b feature,sched: allow setting initial DL CQI in enb.conf 2021-06-14 15:55:23 +01:00
Francisco e8983b88f0 refactor: use enb_cc_idx instead of ue_cc_idx in mac::ue 2021-06-14 13:18:47 +01:00
Andre Puschmann fa7a8fb687 rlc_am_test: add testcase for processing out-of-order status PDUs 2021-06-14 09:43:02 +02:00
Andre Puschmann 19f30aa652 rlc_am_lte: fix handling of out-of-order status PDUs
before processing incoming status PDUs we should be checking
if the ACK_SN falls within our current Tx window. If not the PDU
will be dropped.

Without the check we were incorrectly processing the status PDU
and because the sequence number wrap around wasn't working
correctly if ACK_SN is smaller than vt_a we were corrupting
our Tx window.
2021-06-14 09:43:02 +02:00
Xavier Arteaga 8743713bb1 Fix compilation 2021-06-14 09:21:29 +02:00
Xavier Arteaga 676080d6af Added macro SRSRAN_VEC_SAFE_CMA 2021-06-14 09:21:29 +02:00
Andre Puschmann b862bbc2e6 rlc_am_lte: add missing mutex to get_status getter
fixws race detected with TSAN
2021-06-10 10:44:18 +02:00
Andre Puschmann d51ee722f6 rlc_am_test: add unit test for ACK_SN is outside rx window
the test uses a malformed status PDU from a PCAP and makes
sure the RLC receiver detects such a PDU and raises a warning
2021-06-10 10:44:18 +02:00
Andre Puschmann 878142843e rlc_am_lte: add further sanity check when creating status PDU
the test verifies that the ACK_SN of a status PDU falls inside the
rx_window of the receiver. If not, than the RLC state has been
corrupted and the status PDU is likely invalid.
2021-06-10 10:44:18 +02:00
Andre Puschmann 46265c5829 rlc_am_data_test: add data PDU unpack test
TV captured in PCAP
2021-06-09 14:44:15 +02:00
Andre Puschmann b379910690 pdu_test: add UL-SCH unpacking test
TV captured in PCAPs.
2021-06-09 14:44:15 +02:00
Xavier Arteaga 6be57dd216 Disable PDCCH false detection for non AVX2 machines 2021-06-09 13:20:01 +02:00
Alejandro Leal Conejos a51f2a1de4 Fills the value of the number of cpus for the system_metrics_t and
initiliaze its value to 0 when executing 2 measures in less than 100 ms.
2021-06-09 09:34:46 +02:00
Pedro Alvarez a53b321ab8 Release UE upon reception of integrity error. 2021-06-08 18:52:22 +01:00
Pedro Alvarez 299d2ee35d Added interface to make the PDCP notify the RRC of integrity check
failures.
2021-06-08 18:52:22 +01:00
Xavier Arteaga 939dd1b977 Change struct sync_raster_t to class 2021-06-08 14:55:12 +02:00
Xavier Arteaga a79d518799 Added SSB search measure/decode file test 2021-06-08 14:55:12 +02:00
Xavier Arteaga 5181a9d64c Implemented PBCH blind decode 2021-06-08 14:55:12 +02:00
Xavier Arteaga a7b7f8e78a Avoid SSB search to have a peak that SSB data is outside buffer 2021-06-08 14:55:12 +02:00
Xavier Arteaga 480f1b14fe Protect Radio from null phy 2021-06-08 14:55:12 +02:00
Xavier Arteaga 9621cf57c2 Implemented NR SS raster object 2021-06-08 14:55:12 +02:00
Xavier Arteaga 49d857cd17 Refactored decode_tb function 2021-06-08 10:19:24 +02:00
Xavier Arteaga 22b1673b36 Added CRC match function and simplify CRC check 2021-06-08 10:19:24 +02:00
Xavier Arteaga 7846bfccb1 Implemented softbuffer RX CRC reset 2021-06-08 10:19:24 +02:00
David Rupprecht ff3e7c321d Added bref function for calc distance til end 2021-06-08 10:14:43 +02:00
Xavier Arteaga e8f2b3a74c Add PDCCH decoder correlation check in blind search 2021-06-05 11:08:27 +02:00
Xavier Arteaga 7c78fd2050 Implemented PDCCH DCI message correlation and updated test 2021-06-05 11:08:27 +02:00
Xavier Arteaga bcd2e59635 PDCCH test global variable cleanup 2021-06-05 11:08:27 +02:00
Francisco 7e77da6a15 mac,optimization: use rnti memory pool to create mac::ue objects 2021-06-04 21:29:13 +01:00
Andre Puschmann 295b5fe8fb rlc_tm: fix stopping of entity detected with TSAN 2021-06-04 13:23:54 +02:00
Andre Puschmann a013a2fe05 rlc_stress_test: fix bug when read_pdu was returning -1 2021-06-04 13:23:54 +02:00
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.
2021-06-04 13:23:54 +02:00
Francisco 539ca47fe2 lib,bugfix: fix blocking queue unit test. Dtor cannot destroy object while a thread is still pushing data 2021-06-04 13:02:39 +02:00
Xavier Arteaga 60f294a6a1 Refactor PDCCH encode/decode unit test 2021-06-04 11:13:23 +02:00
Xavier Arteaga 5ddc974beb Reverted PDCCH threshold 2021-06-04 11:13:23 +02:00
Xavier Arteaga d46be09663 Increase viterbi default number of iterations 2021-06-04 11:13:23 +02:00
Xavier Arteaga 090022568e DCI NCCE find considers L and NCCE 2021-06-04 11:13:23 +02:00
Andre Puschmann a36e0477b8 rlc_am: fix status PDU packing when grant size isn't enough to send full report
when a small grant is provided it might not be possible to fit a full status
PDU. This is currently detected while packing the PDU.

In order to avoid sending potentiall contradicting status info to the sending
entity, the fix makes sure to only transmit a small PDU acking what really
has been received so far.

This might not be optimal in terms for retx but will not corrupt any
state.
2021-06-03 21:11:47 +02:00
Andre Puschmann 5838ec4999 rlc_am: revert expect macro back to error log and inform higher layers
the incidence really must be handled by the higher layers, i.e. the bearer
needs to be reestablished.
2021-06-03 21:11:47 +02:00
Andre Puschmann f22f4b4fbd rlc_am: fix potential stalling in RLC transmitter
it turned out that a certain order of events can lead to
a RLC transmitter stalling because even though unacknowledged PDUs
are queued, none of them was actually considered for retx.

This can happen if a pollRetxTimer expires for a SN that, meanwhile,
has already been acknowledged. The positive lead to the deletion of
the SN from the Tx window.

The fix makes sure that when a retx for a unexisting SN is requested,
the sender will consider the next unacknowledged SN instead.
2021-06-03 21:11:47 +02:00
Andre Puschmann 9612bb0e14 rlc_am_test: fix status PDU test and add extra test for failure signaling 2021-06-03 21:11:47 +02:00
Andre Puschmann aaffdeb326 rrc,rlc: add method to signal protocol failure to RRC
general-purpose method for lower layers to signal protocol
failures to higher layers, i.e. RRC.

In the current case, implement a direct release of the UE (enb) or
a reestablishment (UE).
2021-06-03 21:11:47 +02:00
Andre Puschmann 107f6334dd compile: fix compilation on 32bit systems that require -latomic 2021-06-03 20:45:02 +02:00
Francisco ceaef3523f sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing 2021-06-03 15:33:38 +01:00
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 2021-06-03 15:33:38 +01:00
Francisco f7aef3ffc1 sched,bugfix: fix nof_retx update when UL HARQs are resumed 2021-06-02 20:21:32 +01:00
Ismael Gomez 5db3030428 Tiny changes 2021-06-02 12:37:36 +02:00
Francisco 89406b07d6 make eNB UL SNR initial value an exponential average alpha configurable 2021-06-02 10:08:34 +01:00
Andre Puschmann 1529379e9e fec,pbch: remove unused variables
unused code that moreover was causing TSAN to complain, e.g.
in the ue_phy_test
2021-06-02 09:36:44 +02:00
Andre Puschmann 7ee38e6255 threads: disable thread attributes when compiled with TSAN
TSAN doesn't work well then threads are created with attributes
thar require root rights but the process is run as normal user.

this patch avoid the thread attributes in this case. TSAN isn't going
to be used for production builds.
2021-06-02 09:36:44 +02:00
Andre Puschmann b88f22b9fe network_utils_test: fix race detected with TSAN 2021-06-01 22:44:12 +02:00
Andre Puschmann f823340a95 rf_imp: fix race when stopping gain thread
detected with TSAN using benchmark_radio test
2021-06-01 22:44:12 +02:00
Andre Puschmann 716caafd6c multiqueue_test: fix race reported by TSAN 2021-06-01 22:44:12 +02:00
Andre Puschmann 1ef3cb7e5d threads: fix race in stopping periodic thread 2021-06-01 22:44:12 +02:00
Andre Puschmann 312b5a241c mac_pcap_base: fix race detected with TSAN 2021-06-01 22:44:12 +02:00
Andre Puschmann c434aac526 rlc_stress_test: include tsan options header 2021-06-01 22:44:12 +02:00
Andre Puschmann 1d34aa280f byte_buffer_queue: make class thread-safe by using atomics 2021-06-01 22:44:12 +02:00
Pedro Alvarez 18e2149d68 Sending Initial Context Setup Response after RRC reconfiguration. 2021-06-01 19:16:16 +01:00
Xavier Arteaga 4f7a94acb6 Fix comment 2021-06-01 16:38:55 +02:00
Xavier Arteaga d329297151 Implement radio invalid mapping countermeasure 2021-06-01 16:38:55 +02:00
Andre Puschmann 3966065bff pssch_test: fix newlines in printf 2021-06-01 16:17:11 +02:00
Andre Puschmann 2ace2b47b8 pssch: fix uninitialized value 2021-06-01 16:17:11 +02:00
Xavier Arteaga bbab2cd9ba Make PDCCH LLR mean amplitude in function of maximum 2021-06-01 15:04:24 +02:00
Xavier Arteaga 2ca0932d9b Reviewed LTE noise estimation 2021-06-01 08:26:36 +02:00
Xavier Arteaga 10a268fdba Added SNR to phy_dl_test 2021-06-01 08:26:36 +02:00
Francisco f36f5271d3 timers,feature: make timers thread-safe by using atomic to store timers state. 2021-05-31 23:26:36 +01:00
Xavier Arteaga dddb3ede71 Fix zero parity 2021-05-31 21:30:17 +02:00
Andre Puschmann 50f7fc644b rlc_am_lte: log event when status prohibit timer expires 2021-05-31 12:40:17 +02:00
Xavier Arteaga 3c93d5ba43 Fix carrier mapping concurrency issue 2021-05-31 10:48:17 +02:00
Xavier Arteaga 235a664120 SRSUE: Removed PUSCH-DMRS/SRS pregeneration methods 2021-05-31 10:48:17 +02:00
Andre Puschmann 531acc0a98 rlc_am_test: add check for RLC buffer state return during retx 2021-05-31 09:40:37 +02:00
Andre Puschmann 3102861ee3 rlc_am_lte: make func param const& 2021-05-31 09:40:37 +02:00
Francisco 0dafe4dd58 fix coderate derivation in PDCCH based on aggregation level 2021-05-28 17:20:08 +02:00
Francisco a587d20252 allow specification of subset of valid measurement gap offsets in rr.conf 2021-05-28 17:19:30 +02:00
Andre Puschmann 02cceee997 rf_zmq_imp: revert 28399dd876 and fix unit
although the manual test with Amarisoft eNB worked fine it seems
the delay is still needed in the default case. Over 50% of the
tests failed in the nightly with:

[zmq] Error: tx time is 0.067 ms in the past (138240 < 139776)
[zmq] Error: tx time is 1.100 ms in the past (184320 < 209664)

While this usleep() should increase the pass likelihood it
still doesn't guarantee error-free runs, so we might need
to revisit it again as some stage.
2021-05-28 09:27:13 +02:00
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
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 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
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 7076dbfef8 feature, scheduler: Add configuration parameter to set minimum TTI interval between TPCs 2021-05-25 21:51:10 +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