Commit 8dedd093 authored by laurent's avatar laurent

remove a forgotten test trace, re-indentation of modified source files

parent 47abf562
...@@ -86,7 +86,6 @@ static inline void measTransportTime(uint64_t DuSend, uint64_t CuMicroSec, Meas ...@@ -86,7 +86,6 @@ static inline void measTransportTime(uint64_t DuSend, uint64_t CuMicroSec, Meas
if (DuSend!=0) { if (DuSend!=0) {
uint64_t end=rdtsc(); uint64_t end=rdtsc();
long long diff=(end-DuSend)/(cpuf*1000)-CuMicroSec; 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->maxArray[0]=diff;
M->sum+=diff; M->sum+=diff;
M->iterations++; M->iterations++;
...@@ -1344,24 +1343,26 @@ void *DL_du_fs6(void *arg) { ...@@ -1344,24 +1343,26 @@ void *DL_du_fs6(void *arg) {
lastTS+ru->eNB_list[i]->frame_parms.samples_per_tti, lastTS+ru->eNB_list[i]->frame_parms.samples_per_tti,
hUDP(bufferZone)->timestamp); hUDP(bufferZone)->timestamp);
} }
pickStaticTime(begingProcessing);
pickStaticTime(begingProcessing);
lastTS=hUDP(bufferZone)->timestamp; lastTS=hUDP(bufferZone)->timestamp;
setAllfromTS(hUDP(bufferZone)->timestamp - sf_ahead*ru->eNB_list[i]->frame_parms.samples_per_tti, &L1_proc); setAllfromTS(hUDP(bufferZone)->timestamp - sf_ahead*ru->eNB_list[i]->frame_parms.samples_per_tti, &L1_proc);
measTransportTime(hDL(bufferZone)->DuClock, hDL(bufferZone)->CuSpentMicroSec, measTransportTime(hDL(bufferZone)->DuClock, hDL(bufferZone)->CuSpentMicroSec,
&transportTime, 1000, false, "Transport time, to CU + from CU for one subframe"); &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); 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 } else
LOG_E(PHY,"DL not received for subframe\n"); LOG_E(PHY,"DL not received for subframe\n");
} }
pickStaticTime(begingProcessing); pickStaticTime(begingProcessing);
feptx_prec(ru, &L1_proc); feptx_prec(ru, &L1_proc);
feptx_ofdm(ru, &L1_proc); feptx_ofdm(ru, &L1_proc);
tx_rf(ru, &L1_proc); tx_rf(ru, &L1_proc);
updateTimesReset(begingProcessing, &DuLow, 1000, false, "DU low layer1 processing for DL"); updateTimesReset(begingProcessing, &DuLow, 1000, false, "DU low layer1 processing for DL");
if ( IS_SOFTMODEM_RFSIM ) if ( IS_SOFTMODEM_RFSIM )
return NULL; return NULL;
} }
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 ...@@ -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)->blockID=0;
hUDP(bufferZone)->contentBytes=sizeof(fs6_dl_t); hUDP(bufferZone)->contentBytes=sizeof(fs6_dl_t);
} }
hDL(bufferZone)->DuClock=DuClock; hDL(bufferZone)->DuClock=DuClock;
hDL(bufferZone)->CuSpentMicroSec=(rdtsc()-startCycle)/(cpuf*1000); hDL(bufferZone)->CuSpentMicroSec=(rdtsc()-startCycle)/(cpuf*1000);
sendSubFrame(&sockFS6, bufferZone, sizeof(fs6_dl_t), CTsentCUv0 ); sendSubFrame(&sockFS6, bufferZone, sizeof(fs6_dl_t), CTsentCUv0 );
return; 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); initBufferZone(bufferZone);
initStaticTime(begingWait); initStaticTime(begingWait);
initRefTimes(fullLoop); initRefTimes(fullLoop);
pickStaticTime(begingWait); pickStaticTime(begingWait);
int nb_blocks=receiveSubFrame(&sockFS6, bufferZone, sizeof(bufferZone), CTsentDUv0 ); int nb_blocks=receiveSubFrame(&sockFS6, bufferZone, sizeof(bufferZone), CTsentDUv0 );
* DuClock=hUDP(bufferZone)->senderClock; * DuClock=hUDP(bufferZone)->senderClock;
* startProcessing=rdtsc(); * startProcessing=rdtsc();
updateTimesReset(begingWait, &fullLoop, 1000, false, "CU wait DU"); updateTimesReset(begingWait, &fullLoop, 1000, false, "CU wait DU");
if (nb_blocks ==0) { if (nb_blocks ==0) {
...@@ -1485,8 +1486,8 @@ void *cu_fs6(void *arg) { ...@@ -1485,8 +1486,8 @@ void *cu_fs6(void *arg) {
remoteIP=DU_IP; remoteIP=DU_IP;
AssertFatal(createUDPsock(NULL, CU_PORT, remoteIP, DU_PORT, &sockFS6), ""); AssertFatal(createUDPsock(NULL, CU_PORT, remoteIP, DU_PORT, &sockFS6), "");
L1_rxtx_proc_t L1proc= {0}; L1_rxtx_proc_t L1proc= {0};
if ( strlen(get_softmodem_params()->threadPoolConfig) > 0 ) if ( strlen(get_softmodem_params()->threadPoolConfig) > 0 )
initTpool(get_softmodem_params()->threadPoolConfig, &L1proc.threadPool, true); initTpool(get_softmodem_params()->threadPoolConfig, &L1proc.threadPool, true);
else else
...@@ -1494,7 +1495,6 @@ void *cu_fs6(void *arg) { ...@@ -1494,7 +1495,6 @@ void *cu_fs6(void *arg) {
initNotifiedFIFO(&L1proc.respEncode); initNotifiedFIFO(&L1proc.respEncode);
initNotifiedFIFO(&L1proc.respDecode); initNotifiedFIFO(&L1proc.respDecode);
uint64_t timeStamp=0; uint64_t timeStamp=0;
initStaticTime(begingWait); initStaticTime(begingWait);
initStaticTime(begingWait2); initStaticTime(begingWait2);
...@@ -1548,16 +1548,19 @@ void *du_fs6(void *arg) { ...@@ -1548,16 +1548,19 @@ void *du_fs6(void *arg) {
initRefTimes(waitRxAndProcessingUL); initRefTimes(waitRxAndProcessingUL);
initRefTimes(fullLoop); initRefTimes(fullLoop);
pthread_t t; 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) { while(1) {
L1_rxtx_proc_t L1proc; L1_rxtx_proc_t L1proc;
updateTimesReset(begingWait, &fullLoop, 1000, true,"DU for full SubFrame (must be less 1ms)"); updateTimesReset(begingWait, &fullLoop, 1000, true,"DU for full SubFrame (must be less 1ms)");
pickStaticTime(begingWait); pickStaticTime(begingWait);
UL_du_fs6(ru, &L1proc); 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"); updateTimesReset(begingWait, &waitRxAndProcessingUL, 1000, true,"DU Time in wait Rx + Ul processing");
} }
......
...@@ -688,7 +688,7 @@ static void *ru_thread( void *param ) { ...@@ -688,7 +688,7 @@ static void *ru_thread( void *param ) {
setbuf(stdout, NULL); setbuf(stdout, NULL);
setbuf(stderr, NULL); setbuf(stderr, NULL);
RU_t *ru = (RU_t *)param; RU_t *ru = (RU_t *)param;
L1_rxtx_proc_t L1proc={0}; L1_rxtx_proc_t L1proc= {0};
L1_rxtx_proc_t *proc=&L1proc; L1_rxtx_proc_t *proc=&L1proc;
if ( strlen(get_softmodem_params()->threadPoolConfig) > 0 ) if ( strlen(get_softmodem_params()->threadPoolConfig) > 0 )
......
...@@ -58,8 +58,10 @@ bool createUDPsock (char *sourceIP, char *sourcePort, char *destIP, char *destPo ...@@ -58,8 +58,10 @@ bool createUDPsock (char *sourceIP, char *sourcePort, char *destIP, char *destPo
int enable=1; int enable=1;
AssertFatal(setsockopt(result->sockHandler, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(enable))==0,""); AssertFatal(setsockopt(result->sockHandler, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(enable))==0,"");
struct timeval tv= {0,UDP_TIMEOUT}; struct timeval tv= {0,UDP_TIMEOUT};
if (IS_SOFTMODEM_RFSIM) if (IS_SOFTMODEM_RFSIM)
tv.tv_sec=2; //debug: wait 2 seconds for human understanding tv.tv_sec=2; //debug: wait 2 seconds for human understanding
AssertFatal(setsockopt(result->sockHandler, SOL_SOCKET, SO_RCVTIMEO,&tv,sizeof(tv)) ==0,""); AssertFatal(setsockopt(result->sockHandler, SOL_SOCKET, SO_RCVTIMEO,&tv,sizeof(tv)) ==0,"");
// Make a send/recv buffer larger than a a couple of subframe // Make a send/recv buffer larger than a a couple of subframe
// so the kernel will store for us in and out paquets // 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 ...@@ -118,9 +120,9 @@ int receiveSubFrame(UDPsock_t *sock, void *bufferZone, int bufferSize, uint16_t
rcved++; rcved++;
bufferZone+=ret; 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 ); } while ( rcved == 0 || rcved < bufOrigin->nbBlocks );
return rcved; return rcved;
...@@ -159,11 +161,10 @@ int sendSubFrame(UDPsock_t *sock, void *bufferZone, ssize_t secondHeaderSize, ui ...@@ -159,11 +161,10 @@ int sendSubFrame(UDPsock_t *sock, void *bufferZone, ssize_t secondHeaderSize, ui
sz, ret, errno, strerror(errno)); sz, ret, errno, strerror(errno));
LOG_D(HW,"Sent: TS: %lu, blocks %d/%d, block size : %d \n", 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; bufferZone+=sz;
nbBlocks--; nbBlocks--;
} while (nbBlocks); } while (nbBlocks);
return 0; return 0;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment