- 20 Feb, 2024 4 commits
-
-
Romain Beurdouche authored
-
Romain Beurdouche authored
-
Romain Beurdouche authored
-
Romain Beurdouche authored
feat(doc): update O-RAN 7.2 doc: details in kernel thread isolation, kernel thread isolation for solving PTP clock lag, PCI address of VFs
-
- 16 Feb, 2024 1 commit
-
-
Sriharsha Korada authored
-
- 14 Feb, 2024 3 commits
-
-
Robert Schmidt authored
Integration: 2024.w06 Closes #733 and #732 See merge request oai/openairinterface5g!2564 * !2490 reworking configuration of LogicalChannelConfig at MAC UE * !2548 NR UE MSG3 buffer * !2556 Support RC SM aperiodic subscription for "UE RRC State Change" * !2557 fix duplicate call of RCconfig_NR_L1 * !2550 use pointer to structure instead of module_id inside MAC * address #733 * !2560 chore(ci): force rebuild of ran-base for integration branches * !2495 Sidelink configuration passed from RRC->MAC * !2220 L1 tx thread * !2559 FH 7.2 improvements * !2566 Provide right E1 instance when creating E2 agent in CU-UP * !2513 Update NR SA tutorials
-
Robert Schmidt authored
-
Robert Schmidt authored
-
- 13 Feb, 2024 8 commits
-
-
Robert Schmidt authored
CUuniqInstance is also used for GTP module identification, which uses the UDP server socket as its ID. This leads to arbitrary IDs (>0), which is wrong.
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
Correctly show the path: it was missing cmake_targets/, although it is there. Closes: #733
-
beurdouc authored
-
Robert Schmidt authored
-
- 12 Feb, 2024 17 commits
-
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
Not periodically checking stats freeing can lead to asserts if these lists are full. Check it once a frame to ensure that lists remain non-empty.
-
Robert Schmidt authored
-
Raghavendra Dinavahi authored
- Phy configuration will be prepared by MAC - Sidelink preconfiguration parameters passed from RRC->MAC - Only 1 SSB TA allocation used - psbch payload prepared by MAC after receiving the tx slss req
-
Robert Schmidt authored
PUSCH decoding is started multiple times in nr_ulsch_procedures() for each ULSCH segment, and stopped once inside phy_procedures_gNB_uespec_RX(). Not only is it not clear if that works with the API, it also might measure more than just PUSCH decoding. Remove the PUSCH decoding, it is misleading. Check L1 RX processing instead.
-
Robert Schmidt authored
-
Robert Schmidt authored
The CI would only detect a deviation from the normalized value based on a configurable threshold, typically 1.25 (so we would tolerate a 25% increase). However, it often happens that a timing gets shorter (e.g., forgot to put the timing measurements). This commit introduces a "Deviation Threshold" (smaller than 1) to not only check that we exceed 1.0 + "Deviation Threshold" (as before), but also that are not below 1.0 - "Deviation Threshold". In other words, assuming a maximum divergence of 25%, instead of just checking if val > 1.25, we now also check if val < 0.75 (and flag error).
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Raymond Knopp authored
This commit introduces a separate thread (l1_tx_thread) that processes gNB DL/TX slots. It receives a message from the ru_thread when a new slot started, and starts processing. The DL part of the scheduler is run in the l1_tx_thread. Therefore, only call UL indication (for scheduler) in UL slots. The UL indication previously triggered the DL scheduler -- hence, it had to be called in every slot. Now, since the DL scheduler is moved into the DL thread, we don't have to call the scheduler in every slot anymore. The reorder thread is removed, as reordering with this scheme is not necessary anymore. The main advantage of this version is that the TX can be scheduled earlier (sl_ahead). Further, there can no longer be race conditions in the TX path, since the scheduler/L2, TX L1 processing and the RU tx function are all execute in the same thread (L1_tX_thread). Also, the scheduler prepares PRACH/PUSCH/PUCCH FAPI PDUs. As of this commit, the scheduler runs in the TX processing chain, whereas these PDUs are destined for RX processing. Thus, too avoid data races, instead of triggering the RX processing at the same time as TX processing in the RU thread, this commit changes the code to trigger RX processing after the scheduler has been run in TX processing to avoid data races. Finally, we synchronize RU and L1 threads. This is important for rfsimulator, since unlike most radios, rfsimulator can run slower or faster, depending on I/O and CPU (it does not have a stable "tick"). Co-authored-by: kiran <saikiran@iitj.ac.in>
-
Raphael Defosseux authored
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
-
Robert Schmidt authored
The UL_INFO_mutex is used in only one place, and therefore useless. Also, the scheduler uses a lock internally to prevent concurrent access. Hence, the UL_INFO_mutex is not needed. Remove kill_gNB_proc(), as it is now dead code.
-
Robert Schmidt authored
The next commit introduces a separate gNB TX processing thread. To properly separate DL scheduler (for scheduling decisions) from UL indication handling (for UL packets), this commit introduces a slot indication "tick" to run the DL scheduler which will be put into the gNB TX processing chain instead of the UL indication.
-
- 09 Feb, 2024 7 commits
-
-
Robert Schmidt authored
For different reasons, the frame/slot numbers might jump (e.g., gNB and RU machines not properly synced). The scheduler would assert for PUCCH allocations. Handle this gracefully by printing an error message, and resetting the PUCCH structure.
-
Robert Schmidt authored
Disable DPDK telemetry to skip creation of one/two threads (depending on DPDK version). To force users to do this, bump the version of the patch checked by cmake. More information on DPDK telemetry: https://doc.dpdk.org/guides/howto/telemetry.html Closes: #732 (suggestion 2) Suggested-by: Andrew Sergeev <andrew.sergeev@adtran.com>
-
Robert Schmidt authored
Force the CPU affinity for ru_thread explicitly to ru_thread_core. It is already done via threadCreate(), but force again as per change request. Delete commented 7.2 code that did the equivalent. We cannot set it in the driver, as we don't have access to variable ru->ru_thread_core. Closes: #732 (suggestion 2) Suggested-by: Andrew Sergeev <andrew.sergeev@adtran.com>
-
Robert Schmidt authored
system_core is the core reserved for DPDK control threads. It was hardcoded to 0, but it seems that one some systems, CPU 0 cannot be reasonably isolated from kernel threads. Make it therefore configurable (default: 0) Closes: #732 (suggestion 1) Suggested-by: Andrew Sergeev <andrew.sergeev@adtran.com>
-
Jaroslava Fiedlerova authored
-
Jaroslava Fiedlerova authored
-
Raymond Knopp authored
-