X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_mgr_main.c;h=d17d93d3d3d424780a98b70874f6588d52e0aeab;hb=0c4403cc2355cc38d01c6645b1dad36dd4c1daa7;hp=dfcc19816e65b4bf9e8046060066d1bac971b3cf;hpb=cdf2274ce07f8a5e066f1a49e92db156f1a92c66;p=o-du%2Fl2.git diff --git a/src/du_app/du_mgr_main.c b/src/du_app/du_mgr_main.c index dfcc19816..d17d93d3d 100644 --- a/src/du_app/du_mgr_main.c +++ b/src/du_app/du_mgr_main.c @@ -46,6 +46,8 @@ uint8_t rlcDlActvTsk (Pst *, Buffer *); uint8_t rlcDlActvInit (Ent, Inst, Region, Reason); uint8_t macActvTsk (Pst *, Buffer *); uint8_t macActvInit (Ent, Inst, Region, Reason); +uint8_t schActvTsk (Pst *, Buffer *); +uint8_t schActvInit(Ent, Inst, Region, Reason); uint8_t lwrMacActvTsk(Pst *, Buffer *); uint8_t lwrMacActvInit(Ent, Inst, Region, Reason); #ifndef INTEL_WLS_MEM @@ -364,6 +366,7 @@ uint8_t sctpInit(SSTskId sysTskId) sysTskId); return ROK; } + /******************************************************************* * * @brief Initializes RLC DL, MAC TAPA task @@ -405,9 +408,42 @@ uint8_t rlcDlInit(SSTskId sysTskId) { return RFAILED; } + return ROK; + } - DU_LOG("\nINFO --> DU_APP : RLC DL and MAC TAPA task created and registered to \ - %d sys task", sysTskId); +/******************************************************************* + * + * @brief Initializes SCH TAPA task + * + * @details + * + * Function : schInit + * + * Functionality: + * - Registers and attaches TAPA tasks for SCH + * + * @params[in] system task ID + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ + uint8_t schInit(SSTskId sysTskId) + { + /* Register SCH TAPA Task */ + if(ODU_REG_TTSK((Ent)ENTMAC, (Inst)SCH_INST_START, (Ttype)TTNORM, (Prior)PRIOR0, + schActvInit, (ActvTsk)schActvTsk) != ROK) + { + return RFAILED; + } + /* Attach SCH Task */ + if (ODU_ATTACH_TTSK((Ent)ENTMAC, (Inst)SCH_INST_START, sysTskId)!= ROK) + { + return RFAILED; + } + + + DU_LOG("\nINFO --> DU_APP : SCH TAPA task created and registered to \ + %d sys task", sysTskId); return ROK; } @@ -537,7 +573,7 @@ uint8_t phyStubInit(SSTskId sysTskId) uint8_t commonInit() { /* Declare system task Ids */ - SSTskId du_app_stsk, egtp_stsk, sctp_stsk, rlc_ul_stsk, rlc_mac_cl_stsk, lwr_mac_stsk, phy_stub_slot_ind_stsk; + SSTskId du_app_stsk, egtp_stsk, sctp_stsk, rlc_ul_stsk, rlc_mac_cl_stsk, sch_stsk, lwr_mac_stsk, phy_stub_slot_ind_stsk; pthread_attr_t attr; @@ -550,7 +586,10 @@ uint8_t commonInit() DU_LOG("\nERROR --> DU_APP : System Task creation for DU APP failed"); return RFAILED; } + +#ifdef INTEL_THREAD_AFFINITY ODU_SET_THREAD_AFFINITY(&du_app_stsk, SS_AFFINITY_MODE_EXCL, 16, 0); +#endif /* system task for EGTP */ if(ODU_CREATE_TASK(PRIOR0, &egtp_stsk) != ROK) @@ -558,7 +597,10 @@ uint8_t commonInit() DU_LOG("\nERROR --> DU_APP : System Task creation for EGTP failed"); return RFAILED; } + +#ifdef INTEL_THREAD_AFFINITY ODU_SET_THREAD_AFFINITY(&egtp_stsk, SS_AFFINITY_MODE_EXCL, 27, 0); +#endif /* system task for RLC_DL and MAC */ if(ODU_CREATE_TASK(PRIOR0, &rlc_mac_cl_stsk) != ROK) @@ -568,7 +610,9 @@ uint8_t commonInit() } pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); +#ifdef INTEL_THREAD_AFFINITY ODU_SET_THREAD_AFFINITY(&rlc_mac_cl_stsk, SS_AFFINITY_MODE_EXCL, 18, 0); +#endif /* system task for RLC UL */ if(ODU_CREATE_TASK(PRIOR1, &rlc_ul_stsk) != ROK) @@ -576,7 +620,19 @@ uint8_t commonInit() DU_LOG("\nERROR --> DU_APP : System Task creation for RLC UL failed"); return RFAILED; } +#ifdef INTEL_THREAD_AFFINITY ODU_SET_THREAD_AFFINITY(&rlc_ul_stsk, SS_AFFINITY_MODE_EXCL, 22, 0); +#endif + + /* system task for SCH */ + if(ODU_CREATE_TASK(PRIOR1, &sch_stsk) != ROK) + { + DU_LOG("\nERROR --> DU_APP : System Task creation for SCH failed"); + return RFAILED; + } +#ifdef INTEL_THREAD_AFFINITY + ODU_SET_THREAD_AFFINITY(&sch_stsk, SS_AFFINITY_MODE_EXCL, 22, 0); +#endif /* system task for SCTP receiver thread */ if(ODU_CREATE_TASK(PRIOR0, &sctp_stsk) != ROK) @@ -584,7 +640,9 @@ uint8_t commonInit() DU_LOG("\nERROR --> DU_APP : System Task creation for SCTP failed"); return RFAILED; } +#ifdef INTEL_THREAD_AFFINITY ODU_SET_THREAD_AFFINITY(&sctp_stsk, SS_AFFINITY_MODE_EXCL, 25, 0); +#endif /* system task for lower-mac receiver thread */ if(ODU_CREATE_TASK(PRIOR0, &lwr_mac_stsk) != ROK) @@ -592,7 +650,9 @@ uint8_t commonInit() DU_LOG("\nERROR --> DU_APP : System Task creation for Lower MAC failed"); return RFAILED; } +#ifdef INTEL_THREAD_AFFINITY ODU_SET_THREAD_AFFINITY(&lwr_mac_stsk, SS_AFFINITY_MODE_EXCL, 21, 0); +#endif #ifndef INTEL_WLS_MEM /* system task for phy stub's slot indication generator thread */ @@ -635,6 +695,12 @@ uint8_t commonInit() return RFAILED; } + if(schInit(sch_stsk) != ROK) + { + DU_LOG("\nERROR --> DU_APP : SCH Tapa Task initialization failed"); + return RFAILED; + } + if(lwrMacInit(lwr_mac_stsk) != ROK) { DU_LOG("\nERROR --> DU_APP : Lower MAC Tapa Task initialization failed");