Merge remote-tracking branch 'origin/pusch-mthread-scaling-fix' into rh_wk50_debug
This commit is contained in:
+14
-1
@@ -72,6 +72,7 @@
|
|||||||
#include "common/utils/LOG/vcd_signal_dumper.h"
|
#include "common/utils/LOG/vcd_signal_dumper.h"
|
||||||
#include "UTIL/OPT/opt.h"
|
#include "UTIL/OPT/opt.h"
|
||||||
#include "enb_config.h"
|
#include "enb_config.h"
|
||||||
|
#include "gnb_paramdef.h"
|
||||||
|
|
||||||
|
|
||||||
#ifndef OPENAIR2
|
#ifndef OPENAIR2
|
||||||
@@ -101,6 +102,7 @@ extern int transmission_mode;
|
|||||||
|
|
||||||
extern uint16_t sf_ahead;
|
extern uint16_t sf_ahead;
|
||||||
extern uint16_t sl_ahead;
|
extern uint16_t sl_ahead;
|
||||||
|
|
||||||
//pthread_t main_gNB_thread;
|
//pthread_t main_gNB_thread;
|
||||||
|
|
||||||
time_stats_t softmodem_stats_mt; // main thread
|
time_stats_t softmodem_stats_mt; // main thread
|
||||||
@@ -870,7 +872,18 @@ void init_gNB_proc(int inst) {
|
|||||||
|
|
||||||
gNB->threadPool = (tpool_t*)malloc(sizeof(tpool_t));
|
gNB->threadPool = (tpool_t*)malloc(sizeof(tpool_t));
|
||||||
gNB->respDecode = (notifiedFIFO_t*) malloc(sizeof(notifiedFIFO_t));
|
gNB->respDecode = (notifiedFIFO_t*) malloc(sizeof(notifiedFIFO_t));
|
||||||
char ul_pool[] = "-1,-1";
|
int numCPU = sysconf(_SC_NPROCESSORS_ONLN);
|
||||||
|
uint32_t num_threads_pusch;
|
||||||
|
paramdef_t PUSCHThreads[] = NUM_THREADS_DESC;
|
||||||
|
config_get( PUSCHThreads,sizeof(PUSCHThreads)/sizeof(paramdef_t),NULL);
|
||||||
|
int threadCnt = min(numCPU, num_threads_pusch);
|
||||||
|
char ul_pool[80];
|
||||||
|
sprintf(ul_pool,"-1");
|
||||||
|
int s_offset = 0;
|
||||||
|
for (int icpu=1; icpu<threadCnt; icpu++) {
|
||||||
|
sprintf(ul_pool+2+s_offset,",-1");
|
||||||
|
s_offset += 3;
|
||||||
|
}
|
||||||
initTpool(ul_pool, gNB->threadPool, false);
|
initTpool(ul_pool, gNB->threadPool, false);
|
||||||
initNotifiedFIFO(gNB->respDecode);
|
initNotifiedFIFO(gNB->respDecode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ typedef enum {
|
|||||||
/* global parameters, not under a specific section */
|
/* global parameters, not under a specific section */
|
||||||
#define GNB_CONFIG_STRING_ASN1_VERBOSITY "Asn1_verbosity"
|
#define GNB_CONFIG_STRING_ASN1_VERBOSITY "Asn1_verbosity"
|
||||||
#define GNB_CONFIG_STRING_ACTIVE_GNBS "Active_gNBs"
|
#define GNB_CONFIG_STRING_ACTIVE_GNBS "Active_gNBs"
|
||||||
|
#define GNB_CONFIG_PUSCH_THREADS "Num_Threads_PUSCH"
|
||||||
/*--------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
/* global configuration parameters */
|
/* global configuration parameters */
|
||||||
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
||||||
@@ -91,6 +92,11 @@ typedef enum {
|
|||||||
{GNB_CONFIG_STRING_ASN1_VERBOSITY, NULL, 0, uptr:NULL, defstrval:GNB_CONFIG_STRING_ASN1_VERBOSITY_NONE, TYPE_STRING, 0}, \
|
{GNB_CONFIG_STRING_ASN1_VERBOSITY, NULL, 0, uptr:NULL, defstrval:GNB_CONFIG_STRING_ASN1_VERBOSITY_NONE, TYPE_STRING, 0}, \
|
||||||
{GNB_CONFIG_STRING_ACTIVE_GNBS, NULL, 0, uptr:NULL, defstrval:NULL, TYPE_STRINGLIST, 0} \
|
{GNB_CONFIG_STRING_ACTIVE_GNBS, NULL, 0, uptr:NULL, defstrval:NULL, TYPE_STRINGLIST, 0} \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define NUM_THREADS_DESC { \
|
||||||
|
{GNB_CONFIG_PUSCH_THREADS, NULL, 0, uptr:&num_threads_pusch, defuintval:1, TYPE_UINT, 0} \
|
||||||
|
}
|
||||||
|
|
||||||
#define GNB_ASN1_VERBOSITY_IDX 0
|
#define GNB_ASN1_VERBOSITY_IDX 0
|
||||||
#define GNB_ACTIVE_GNBS_IDX 1
|
#define GNB_ACTIVE_GNBS_IDX 1
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
|
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
|
||||||
# Asn1_verbosity, choice in: none, info, annoying
|
# Asn1_verbosity, choice in: none, info, annoying
|
||||||
Asn1_verbosity = "none";
|
Asn1_verbosity = "none";
|
||||||
|
Num_Threads_PUSCH = 8;
|
||||||
|
|
||||||
gNBs =
|
gNBs =
|
||||||
(
|
(
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
|
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
|
||||||
# Asn1_verbosity, choice in: none, info, annoying
|
# Asn1_verbosity, choice in: none, info, annoying
|
||||||
Asn1_verbosity = "none";
|
Asn1_verbosity = "none";
|
||||||
|
Num_Threads_PUSCH = 8;
|
||||||
|
|
||||||
gNBs =
|
gNBs =
|
||||||
(
|
(
|
||||||
|
|||||||
Reference in New Issue
Block a user