Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zzha zzha
OpenXG-RAN
Commits
8dedd093
Commit
8dedd093
authored
Dec 06, 2019
by
laurent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove a forgotten test trace, re-indentation of modified source files
parent
47abf562
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
27 additions
and
23 deletions
+27
-23
executables/main-fs6.c
executables/main-fs6.c
+20
-17
executables/main-ocp.c
executables/main-ocp.c
+1
-1
executables/transport_split.c
executables/transport_split.c
+6
-5
No files found.
executables/main-fs6.c
View file @
8dedd093
...
...
@@ -86,7 +86,6 @@ static inline void measTransportTime(uint64_t DuSend, uint64_t CuMicroSec, Meas
if
(
DuSend
!=
0
)
{
uint64_t
end
=
rdtsc
();
long
long
diff
=
(
end
-
DuSend
)
/
(
cpuf
*
1000
)
-
CuMicroSec
;
LOG_E
(
HW
,
"total: %f, cu time %lu
\n
"
,
(
end
-
DuSend
)
/
(
cpuf
*
1000
),
CuMicroSec
);
M
->
maxArray
[
0
]
=
diff
;
M
->
sum
+=
diff
;
M
->
iterations
++
;
...
...
@@ -1344,24 +1343,26 @@ void *DL_du_fs6(void *arg) {
lastTS
+
ru
->
eNB_list
[
i
]
->
frame_parms
.
samples_per_tti
,
hUDP
(
bufferZone
)
->
timestamp
);
}
pickStaticTime
(
begingProcessing
);
pickStaticTime
(
begingProcessing
);
lastTS
=
hUDP
(
bufferZone
)
->
timestamp
;
setAllfromTS
(
hUDP
(
bufferZone
)
->
timestamp
-
sf_ahead
*
ru
->
eNB_list
[
i
]
->
frame_parms
.
samples_per_tti
,
&
L1_proc
);
measTransportTime
(
hDL
(
bufferZone
)
->
DuClock
,
hDL
(
bufferZone
)
->
CuSpentMicroSec
,
&
transportTime
,
1000
,
false
,
"Transport time, to CU + from CU for one subframe"
);
measTransportTime
(
hDL
(
bufferZone
)
->
DuClock
,
hDL
(
bufferZone
)
->
CuSpentMicroSec
,
&
transportTime
,
1000
,
false
,
"Transport time, to CU + from CU for one subframe"
);
phy_procedures_eNB_TX_fromsplit
(
bufferZone
,
nb_blocks
,
ru
->
eNB_list
[
i
],
&
L1_proc
,
1
);
updateTimesReset
(
begingProcessing
,
&
DuHigh
,
1000
,
false
,
"DU high layer1 processing for DL"
);
updateTimesReset
(
begingProcessing
,
&
DuHigh
,
1000
,
false
,
"DU high layer1 processing for DL"
);
}
else
LOG_E
(
PHY
,
"DL not received for subframe
\n
"
);
}
pickStaticTime
(
begingProcessing
);
feptx_prec
(
ru
,
&
L1_proc
);
feptx_ofdm
(
ru
,
&
L1_proc
);
tx_rf
(
ru
,
&
L1_proc
);
updateTimesReset
(
begingProcessing
,
&
DuLow
,
1000
,
false
,
"DU low layer1 processing for DL"
);
if
(
IS_SOFTMODEM_RFSIM
)
return
NULL
;
if
(
IS_SOFTMODEM_RFSIM
)
return
NULL
;
}
return
NULL
;
...
...
@@ -1425,21 +1426,21 @@ void DL_cu_fs6(RU_t *ru, L1_rxtx_proc_t *proc, uint64_t DuClock, uint64_t start
hUDP
(
bufferZone
)
->
blockID
=
0
;
hUDP
(
bufferZone
)
->
contentBytes
=
sizeof
(
fs6_dl_t
);
}
hDL
(
bufferZone
)
->
DuClock
=
DuClock
;
hDL
(
bufferZone
)
->
CuSpentMicroSec
=
(
rdtsc
()
-
startCycle
)
/
(
cpuf
*
1000
);
sendSubFrame
(
&
sockFS6
,
bufferZone
,
sizeof
(
fs6_dl_t
),
CTsentCUv0
);
return
;
}
void
UL_cu_fs6
(
RU_t
*
ru
,
L1_rxtx_proc_t
*
proc
,
uint64_t
*
TS
,
uint64_t
*
DuClock
,
uint64_t
*
startProcessing
)
{
void
UL_cu_fs6
(
RU_t
*
ru
,
L1_rxtx_proc_t
*
proc
,
uint64_t
*
TS
,
uint64_t
*
DuClock
,
uint64_t
*
startProcessing
)
{
initBufferZone
(
bufferZone
);
initStaticTime
(
begingWait
);
initRefTimes
(
fullLoop
);
pickStaticTime
(
begingWait
);
int
nb_blocks
=
receiveSubFrame
(
&
sockFS6
,
bufferZone
,
sizeof
(
bufferZone
),
CTsentDUv0
);
*
DuClock
=
hUDP
(
bufferZone
)
->
senderClock
;
*
startProcessing
=
rdtsc
();
*
startProcessing
=
rdtsc
();
updateTimesReset
(
begingWait
,
&
fullLoop
,
1000
,
false
,
"CU wait DU"
);
if
(
nb_blocks
==
0
)
{
...
...
@@ -1485,8 +1486,8 @@ void *cu_fs6(void *arg) {
remoteIP
=
DU_IP
;
AssertFatal
(
createUDPsock
(
NULL
,
CU_PORT
,
remoteIP
,
DU_PORT
,
&
sockFS6
),
""
);
L1_rxtx_proc_t
L1proc
=
{
0
};
if
(
strlen
(
get_softmodem_params
()
->
threadPoolConfig
)
>
0
)
initTpool
(
get_softmodem_params
()
->
threadPoolConfig
,
&
L1proc
.
threadPool
,
true
);
else
...
...
@@ -1494,7 +1495,6 @@ void *cu_fs6(void *arg) {
initNotifiedFIFO
(
&
L1proc
.
respEncode
);
initNotifiedFIFO
(
&
L1proc
.
respDecode
);
uint64_t
timeStamp
=
0
;
initStaticTime
(
begingWait
);
initStaticTime
(
begingWait2
);
...
...
@@ -1548,16 +1548,19 @@ void *du_fs6(void *arg) {
initRefTimes
(
waitRxAndProcessingUL
);
initRefTimes
(
fullLoop
);
pthread_t
t
;
if
(
!
IS_SOFTMODEM_RFSIM
)
threadCreate
(
&
t
,
DL_du_fs6
,
(
void
*
)
ru
,
"MainDuTx"
,
-
1
,
OAI_PRIORITY_RT_MAX
);
if
(
!
IS_SOFTMODEM_RFSIM
)
threadCreate
(
&
t
,
DL_du_fs6
,
(
void
*
)
ru
,
"MainDuTx"
,
-
1
,
OAI_PRIORITY_RT_MAX
);
while
(
1
)
{
L1_rxtx_proc_t
L1proc
;
updateTimesReset
(
begingWait
,
&
fullLoop
,
1000
,
true
,
"DU for full SubFrame (must be less 1ms)"
);
pickStaticTime
(
begingWait
);
UL_du_fs6
(
ru
,
&
L1proc
);
if
(
IS_SOFTMODEM_RFSIM
)
DL_du_fs6
((
void
*
)
ru
);
if
(
IS_SOFTMODEM_RFSIM
)
DL_du_fs6
((
void
*
)
ru
);
updateTimesReset
(
begingWait
,
&
waitRxAndProcessingUL
,
1000
,
true
,
"DU Time in wait Rx + Ul processing"
);
}
...
...
executables/main-ocp.c
View file @
8dedd093
...
...
@@ -688,7 +688,7 @@ static void *ru_thread( void *param ) {
setbuf
(
stdout
,
NULL
);
setbuf
(
stderr
,
NULL
);
RU_t
*
ru
=
(
RU_t
*
)
param
;
L1_rxtx_proc_t
L1proc
=
{
0
};
L1_rxtx_proc_t
L1proc
=
{
0
};
L1_rxtx_proc_t
*
proc
=&
L1proc
;
if
(
strlen
(
get_softmodem_params
()
->
threadPoolConfig
)
>
0
)
...
...
executables/transport_split.c
View file @
8dedd093
...
...
@@ -58,8 +58,10 @@ bool createUDPsock (char *sourceIP, char *sourcePort, char *destIP, char *destPo
int
enable
=
1
;
AssertFatal
(
setsockopt
(
result
->
sockHandler
,
SOL_SOCKET
,
SO_REUSEADDR
,
&
enable
,
sizeof
(
enable
))
==
0
,
""
);
struct
timeval
tv
=
{
0
,
UDP_TIMEOUT
};
if
(
IS_SOFTMODEM_RFSIM
)
tv
.
tv_sec
=
2
;
//debug: wait 2 seconds for human understanding
AssertFatal
(
setsockopt
(
result
->
sockHandler
,
SOL_SOCKET
,
SO_RCVTIMEO
,
&
tv
,
sizeof
(
tv
))
==
0
,
""
);
// Make a send/recv buffer larger than a a couple of subframe
// so the kernel will store for us in and out paquets
...
...
@@ -118,9 +120,9 @@ int receiveSubFrame(UDPsock_t *sock, void *bufferZone, int bufferSize, uint16_t
rcved
++
;
bufferZone
+=
ret
;
}
LOG_D
(
HW
,
"Received: blocks: %d/%d, size %d, TS: %lu
\n
"
,
rcved
,
bufOrigin
->
nbBlocks
,
ret
,
bufOrigin
->
timestamp
);
LOG_D
(
HW
,
"Received: blocks: %d/%d, size %d, TS: %lu
\n
"
,
rcved
,
bufOrigin
->
nbBlocks
,
ret
,
bufOrigin
->
timestamp
);
}
while
(
rcved
==
0
||
rcved
<
bufOrigin
->
nbBlocks
);
return
rcved
;
...
...
@@ -159,11 +161,10 @@ int sendSubFrame(UDPsock_t *sock, void *bufferZone, ssize_t secondHeaderSize, ui
sz
,
ret
,
errno
,
strerror
(
errno
));
LOG_D
(
HW
,
"Sent: TS: %lu, blocks %d/%d, block size : %d
\n
"
,
UDPheader
->
timestamp
,
UDPheader
->
nbBlocks
-
nbBlocks
,
UDPheader
->
nbBlocks
,
sz
);
UDPheader
->
timestamp
,
UDPheader
->
nbBlocks
-
nbBlocks
,
UDPheader
->
nbBlocks
,
sz
);
bufferZone
+=
sz
;
nbBlocks
--
;
}
while
(
nbBlocks
);
return
0
;
return
0
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment