Commit Graph
29 Commits
Author SHA1 Message Date
Robert Schmidt 634e38bd31 Remove DEADLINE_SCHEDULER and CPU_AFFINITY defines 2022-10-14 09:14:18 +02:00
Robert Schmidt 078d6fa15b threadCreate(): don't create detached threads
A detached thread cannot be joined with pthread_join(). However, this
is crucial for correct resetting of the nr-softmodem. Therefore, do not
create threads in detached state.
2022-08-16 14:41:02 +02:00
Raphael Defosseux 87c5007970 fix(container): when running in fedora-generic-kerner container, no setting of priority
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-03-31 16:26:59 +02:00
Laurent THOMAS 3f2dd17191 code review comments + re-test 2022-01-13 16:04:16 +01:00
Laurent THOMAS bc05bd882d cleaning after big merge 2022-01-10 11:44:45 +01:00
Laurent THOMAS 3fde37a28d fix after merge and a ci bug (containers) 2021-12-17 21:57:00 +01:00
Eurecom cfbced8b5f Remove wrong abort call for the case of affinity!= -1 2021-12-10 13:18:58 +01:00
Laurent THOMAS 686e585666 replace protobuf in 4G F1 split, first step: UL packets 2021-09-21 10:30:46 +02:00
Laurent THOMAS a455ce7cab fix F1-U bugs 2021-09-13 11:04:38 +02:00
Laurent Thomas 62f2d43f75 merge develop 2021-09-10 11:11:20 +02:00
Laurent Thomas b5f300171d change instance id to 3GPP length 2021-09-09 11:37:00 +02:00
Laurent Thomas 7b2f3440e9 merge develop 2021-09-07 16:51:30 +02:00
Raphael Defosseux 592d99b5bc fix(enb): start_background_system was not called in noS1 mode
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-09-03 10:27:33 +02:00
Laurent THOMAS 5c3abe6fc8 add F1-U DU Uplink 2021-08-31 21:03:22 +02:00
Laurent THOMAS 49c4fceb76 fix memory error: too early paramters read, then free (before end of usage 2021-08-31 20:51:11 +02:00
rmagueta 5293e9bbe0 Merge remote-tracking branch 'origin/develop' into develop-NR_SA_F1AP_5GRECORDS
# Conflicts:
#	common/utils/system.c
2021-06-18 14:41:01 +01:00
Raphael Defosseux 2a6ebaaaae Fixes on the array size computation.
This work is based on feedback from Thomas Schlichter.
His comments and suggestions were made just after the original MR was merged.

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-06-14 14:56:01 +02:00
rmagueta 09a6d825b7 Avoid read null pointer file 2021-06-09 12:37:16 +01:00
Raphael Defosseux 1b4faa8ddd fix added cppcheck errors
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-05-26 10:00:45 +02:00
Raphael Defosseux aa6b36a60f [RHEL8][CONTAINER] Runtime check when creating pThreads
It looks like :
  - when running on a Fedora-host
  - with generic kernel
  - in a container
  - even in privileged mode

That is not enough and priority/schedule settings is not allowed.

So at runtime, we check and in case, we don't set up priorities.

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-05-25 14:41:30 +02:00
Laurent THOMAS 86f1c69f26 Fix code review remarks, merge develop, revert some merge errors 2021-04-13 22:28:02 +02:00
Laurent THOMAS 0317d6725b sanitize, calibration tool kickoff 2021-04-02 10:12:13 +02:00
laurent 53db39b8a0 split 7.3 ready for merge 2020-03-02 15:41:21 +01:00
Raphael Defosseux c409da3bb8 Patch provided by Gabriel Arrobo.
Mainly comestics and integer type management

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-09 14:10:04 +01:00
Laurent 7a5214c6b4 fix 4G merge issues 2019-05-14 16:16:57 +02:00
Laurent 4d787625ab still to compile 2019-04-30 14:25:42 +02:00
laurent 8a92138086 rework threads in 5G 2019-04-30 10:17:08 +02:00
Cedric Roux 1b1f941e3c upgrade license to version 1.1 2017-10-23 12:22:13 +02:00
Cedric Roux cff9149920 fix issue 227 - UE IP settings disrupts realtime
see https://gitlab.eurecom.fr/oai/openairinterface5g/issues/227

When the UE connects to the eNodeB and receives its IP address from the
network, it calls system() to set it in the linux kernel world. This call
is not done in a realtime thread, but in the NAS, which uses its own thread,
independent of the realtime processing.

In some situations this totally disrupts realtime processing.

It is difficult to know precisely why that happens, but it seems that calling
fork(), as system() does, in a multi-threaded program is not a good idea. (So
say several people on the internet.) It is not clear why the softmodem is
impacted, but it seems that fork() is really what triggers the disruption.
Several tests lead to that conclusion.

To fix the problem, we create a child background process very early in main()
(before anything else basically). Then instead of calling system(), the main
process sends the string to the background process. The background process
gets the string, passes it to system() and reports the success/failure back
to the main process.

This solution involves a lot of system calls, but calling system() in the
first place is not cheap either. As long as no realtime thread uses this
mechanism, things should be fine. Time will tell.
2017-03-23 12:34:24 +01:00