[ JIRA Id - ODUHIGH-606 ] Fixing null memory size allocation issue 49/12949/3
authorpborla <pborla@radisys.com>
Mon, 10 Jun 2024 04:52:30 +0000 (10:22 +0530)
committerpborla <pborla@radisys.com>
Mon, 10 Jun 2024 05:12:18 +0000 (10:42 +0530)
Change-Id: Ib8ec455b0a7714b62051e9b6ecde7c2647ed2eaf
Signed-off-by: pborla <pborla@radisys.com>
build/odu/makefile
src/5gnrmac/lwr_mac_phy.h
src/5gnrmac/mac_cfg_hdl.c
src/5gnrmac/mac_utils.h
src/5gnrrlc/rlc_utils.h
src/5gnrsch/sch_utils.h
src/cm/common_def.c
src/cm/du_app_mac_inf.h
src/cm/mac_sch_interface.h
src/du_app/du_utils.h

index 598228e..d932b88 100644 (file)
@@ -74,7 +74,7 @@ endif
 # macro for output file name and makefile name
 #
 
-PLTFRM_FLAGS=-UMSPD -DODU -DINTEL_FAPI -UODU_MEMORY_DEBUG_LOG -DDEBUG_ASN_PRINT -UDEBUG_PRINT -DERROR_PRINT -USTART_DL_UL_DATA -UNR_DRX -UCALL_FLOW_DEBUG_LOG -UODU_SLOT_IND_DEBUG_LOG -UNFAPI_ENABLED -UTHREAD_AFFINITY 
+PLTFRM_FLAGS=-UMSPD -DODU -DINTEL_FAPI -UODU_MEMORY_DEBUG_LOG -DDEBUG_ASN_PRINT -UDEBUG_PRINT -DERROR_PRINT -USTART_DL_UL_DATA -UNR_DRX -UCALL_FLOW_DEBUG_LOG -UODU_SLOT_IND_DEBUG_LOG -UNFAPI_ENABLED -UTHREAD_AFFINITY -UMEM_SIZE_CHECK 
 
 ifeq ($(MODE),TDD)
    PLTFRM_FLAGS += -DNR_TDD
index 7c4fdb2..8f6591f 100644 (file)
@@ -32,6 +32,15 @@ typedef enum
    MSG_TX_ERR
 }ErrorCode;
 
+#ifdef MEM_SIZE_CHECK
+#define WLS_MEMORY_ALLOC_SIZE_LOG(_line, _func, _size) \
+{\
+   DU_LOG("\nRLC line = %d, func = %s, _size= %d ", _line, _func, _size); \
+}
+#else
+#define WLS_MEMORY_ALLOC_SIZE_LOG(_line, _func, _size) {}
+#endif
+
 #ifdef ODU_MEMORY_DEBUG_LOG
 #define WLS_MEM_LOG(_macro, _file, _line, _func, _size, _datPtr)\
 {\
@@ -51,6 +60,7 @@ typedef enum
 /* allocate static buffer from WLS memory */
 #define WLS_MEM_ALLOC(_datPtr, _size)                        \
 {                                                            \
+   WLS_MEMORY_ALLOC_SIZE_LOG(__LINE__, __FUNCTION__, _size);  \
    uint8_t _ret;                                             \
    _ret = SGetSBufWls(0, 0, (Data **)&_datPtr, _size);       \
    if(_ret == ROK)                                           \
index bfac69c..b1e77b2 100644 (file)
@@ -193,6 +193,10 @@ uint8_t MacProcCellCfgReq(Pst *pst, MacCellCfg *macCellCfg)
    for(plmnIdx = 0; plmnIdx < MAX_PLMN; plmnIdx++)
    {
       macCb.macCell[cellIdx]->macCellCfg.cellCfg.plmnInfoList[plmnIdx].suppSliceList.numSupportedSlices = macCellCfg->cellCfg.plmnInfoList[plmnIdx].suppSliceList.numSupportedSlices;
+
+      if(macCb.macCell[cellIdx]->macCellCfg.cellCfg.plmnInfoList[plmnIdx].suppSliceList.numSupportedSlices==0)
+         break;
+
       MAC_ALLOC(macCb.macCell[cellIdx]->macCellCfg.cellCfg.plmnInfoList[plmnIdx].suppSliceList.snssai, macCb.macCell[cellIdx]->macCellCfg.cellCfg.plmnInfoList[plmnIdx].suppSliceList.numSupportedSlices\
             * sizeof(Snssai*));
       if(macCb.macCell[cellIdx]->macCellCfg.cellCfg.plmnInfoList[plmnIdx].suppSliceList.snssai == NULLP)
index fea6322..99b07e4 100644 (file)
 #define MAC_MEM_REGION   4
 #define MAC_POOL         1
 
+/* allocate and zero out a static buffer */
+
+#ifdef MEM_SIZE_CHECK
+#define MAC_MEMORY_ALLOC_SIZE_LOG(_line, _func, _size) \
+{\
+   DU_LOG("\n MAC line = %d, func = %s, _size= %d ", _line, _func, _size); \
+}
+#else
+#define MAC_MEMORY_ALLOC_SIZE_LOG(_line, _func, _size) {}
+#endif
+
 #ifdef ODU_MEMORY_DEBUG_LOG
 #define MAC_MEM_LOG(_macro, _file, _line, _func, _size, _datPtr)\
 {\
@@ -36,6 +47,7 @@
 /* allocate and zero out a MAC static buffer */
 #define MAC_ALLOC(_datPtr, _size)                            \
 {                                                            \
+   MAC_MEMORY_ALLOC_SIZE_LOG(__LINE__, __FUNCTION__, _size);      \
    uint8_t _ret;                                             \
    _ret = SGetSBuf(MAC_MEM_REGION, MAC_POOL,                 \
         (Data **)&_datPtr, _size);                               \
@@ -66,6 +78,7 @@
  * during inter-layer communication */
 #define MAC_ALLOC_SHRABL_BUF(_buf, _size)                    \
 {                                                            \
+   MAC_MEMORY_ALLOC_SIZE_LOG(__LINE__, __FUNCTION__, _size);      \
    if(SGetStaticBuffer(MAC_MEM_REGION, MAC_POOL,             \
            (Data **)&_buf, (Size) _size, 0) == ROK)              \
    {                                                         \
index 5ec43d4..dfdc312 100755 (executable)
@@ -104,6 +104,15 @@ extern "C" {
  *                              Memory related Defines 
  ******************************************************************************/
 /* Allocate function */
+#ifdef MEM_SIZE_CHECK
+#define RLC_MEMORY_ALLOC_SIZE_LOG(_line, _func, _size) \
+{\
+   DU_LOG("\nRLC line = %d, func = %s, _size= %d ", _line, _func, _size); \
+}
+#else
+#define RLC_MEMORY_ALLOC_SIZE_LOG(_line, _func, _size) {}
+#endif
+
 #ifdef ODU_MEMORY_DEBUG_LOG
 #define RLC_MEM_LOG(_macro, _file, _line, _func, _size, _datPtr)\
 {\
@@ -116,6 +125,7 @@ extern "C" {
 
 #define RLC_ALLOC(_cb,_buf, _size)                                    \
 {                                                                    \
+   RLC_MEMORY_ALLOC_SIZE_LOG(__LINE__, __FUNCTION__, _size); \
  if (SGetSBuf(_cb->init.region, _cb->init.pool, (Data **)&_buf,      \
                 (Size) _size) == ROK)                                \
    {                                                                 \
@@ -162,6 +172,7 @@ extern "C" {
 
 #define RLC_ALLOC_SHRABL_BUF_WC(_region, _pool,_buf, _size)           \
 {                                                                    \
+   RLC_MEMORY_ALLOC_SIZE_LOG(__LINE__, __FUNCTION__, _size); \
    if(SGetStaticBuffer(_region, _pool, (Data **)&_buf,                    \
             (Size) _size, 0)==ROK)                                    \
    {\
@@ -175,6 +186,7 @@ extern "C" {
 
 #define RLC_ALLOC_SHRABL_BUF(_region, _pool,_buf, _size)              \
 {                                                                    \
+   RLC_MEMORY_ALLOC_SIZE_LOG(__LINE__, __FUNCTION__, _size); \
  if (SGetStaticBuffer(_region, _pool, (Data **)&_buf,                \
                 (Size) _size, 0) == ROK)                                \
    {                                                                 \
@@ -189,6 +201,7 @@ extern "C" {
 
 #define RLC_ALLOC_WC(_cb,_buf, _size)  \
 {\
+   RLC_MEMORY_ALLOC_SIZE_LOG(__LINE__, __FUNCTION__, _size); \
    if(SGetSBuf(_cb->init.region, _cb->init.pool, (Data **)&_buf, (Size) _size) == ROK)\
    {\
       RLC_MEM_LOG("RLC,ALLOC_WC", __FILE__, __LINE__, __FUNCTION__, _size, _buf);\
@@ -270,6 +283,7 @@ extern "C" {
 
 #define RLC_SHRABL_STATIC_BUF_ALLOC(_region, _pool, _buf, _size)     \
 {                                                                        \
+   RLC_MEMORY_ALLOC_SIZE_LOG(__LINE__, __FUNCTION__, _size); \
    SGetStaticBuffer(_region, _pool, (Data **)&_buf,      \
          (Size) _size, 0);                                        \
    RLC_MEM_LOG("RLC,SHRABL_STATIC_BUF_ALLOC", __FILE__, __LINE__, __FUNCTION__, _size, _buf);\
index f2e1437..c47a5ad 100644 (file)
 }
 
 /* allocate and zero out a static buffer */
+#ifdef MEM_SIZE_CHECK
+#define SCH_MEMORY_ALLOC_SIZE_LOG(_line, _func, _size) \
+{\
+   DU_LOG("\n SCH line = %d, func = %s, _size= %d ", _line, _func, _size); \
+}
+#else
+#define SCH_MEMORY_ALLOC_SIZE_LOG(_line, _func, _size) {}
+#endif
+
 #ifdef ODU_MEMORY_DEBUG_LOG
 #define SCH_MEM_LOG(_macro, _file, _line, _func, _size, _datPtr)\
 {\
@@ -60,7 +69,8 @@
 
 #define SCH_ALLOC(_datPtr, _size)                               \
 {                                                               \
-   uint8_t _ret;                                                    \
+   SCH_MEMORY_ALLOC_SIZE_LOG(__LINE__, __FUNCTION__, _size);         \
+   uint8_t _ret;                                                \
    _ret = SGetSBuf(SCH_MEM_REGION, SCH_POOL,                    \
           (Data **)&_datPtr, _size);                             \
    if(_ret == ROK)                                              \
index 4b974c3..c731bad 100644 (file)
 
 #include "common_def.h"
 
+#ifdef MEM_SIZE_CHECK
+#define CM_MEMORY_ALLOC_SIZE_LOG(_line, _func, _size) \
+{\
+   DU_LOG("\nRLC line = %d, func = %s, _size= %d ", _line, _func, _size); \
+}
+#else
+#define CM_MEMORY_ALLOC_SIZE_LOG(_line, _func, _size) {}
+#endif
+
 /*Spec 38.104, Table 5.4.2.1-1 ARFCN - FREQ mapping*/
 /*{  F_REF(Mhz), ΔF_Global, F_REF-Offs, N_REF-offs, Range of N_REF }*/
 uint32_t arfcnFreqTable[3][5] = {
@@ -286,6 +295,7 @@ uint8_t convertSSBPeriodicityToEnum(uint32_t num)
 * ****************************************************************/
 uint8_t SGetSBufNewForDebug(char *file, const char *func, int line, Region region, Pool pool, Data **ptr, Size size)
 {
+   CM_MEMORY_ALLOC_SIZE_LOG(line, func, size);
    if(SGetSBuf(region, pool, ptr, size) == ROK)
    {
 #ifdef ODU_MEMORY_DEBUG_LOG
@@ -354,6 +364,7 @@ uint8_t SPutSBufNewForDebug(char *file, const char *func, int line, Region regio
 uint8_t SGetStaticBufNewForDebug(char *file, const char *func, int line, \
 Region region, Pool pool, Data **ptr, Size size, uint8_t memType)
 {
+   CM_MEMORY_ALLOC_SIZE_LOG(line, func, size);
    if(SGetStaticBuffer(region, pool, ptr, size, memType) == ROK)
    {
 #ifdef ODU_MEMORY_DEBUG_LOG
index 0aa7055..f6ecc11 100644 (file)
@@ -98,7 +98,7 @@
 #define BSR_SR_DELAY_TMR_2560 2560
 
 #define PAGING_SCHED_DELTA  4
-#define MAX_PLMN 2
+#define MAX_PLMN 1
 
 /********************* Global Variable ********************/
 extern uint64_t ueBitMapPerCell[MAX_NUM_CELL]; /* Bit Map to store used/free UE-IDX per Cell */
index d6d42b7..63fc020 100644 (file)
 #define DEFAULT_K2_VALUE_FOR_SCS60  2
 #define DEFAULT_K2_VALUE_FOR_SCS120 3 
 
-#define MAX_PLMN 2
+#define MAX_PLMN 1
 #define DL_DMRS_SYMBOL_POS 4 /* Bitmap value 00000000000100 i.e. using 3rd symbol for PDSCH DMRS */
 
 #define MAX_PHR_REPORT 1 /*TODO: Range of PHR reports in multiple PHR.*/
index e98aa43..98f0338 100644 (file)
 
 /* allocate and zero out a static buffer */
 
+#ifdef MEM_SIZE_CHECK
+#define DU_APP_MEMORY_ALLOC_SIZE_LOG(_line, _func, _size) \
+{\
+   DU_LOG("\n DUAPP line = %d, func = %s, _size= %d ", _line, _func, _size); \
+}
+#else
+#define DU_APP_MEMORY_ALLOC_SIZE_LOG(_line, _func, _size) {}
+#endif
+
+
 #ifdef ODU_MEMORY_DEBUG_LOG
 #define DU_MEM_LOG(_macro, _file, _line, _func, _size, _datPtr)\
 {\
@@ -56,6 +66,7 @@
 
 #define DU_ALLOC(_datPtr, _size)                                \
 {                                                               \
+   DU_APP_MEMORY_ALLOC_SIZE_LOG(__LINE__, __FUNCTION__, _size); \
    int _ret;                                                    \
    _ret = SGetSBuf(DU_APP_MEM_REGION, DU_POOL,                  \
                     (Data **)&_datPtr, _size);                  \
@@ -83,6 +94,7 @@
  * during inter-layer communication */
 #define DU_ALLOC_SHRABL_BUF(_buf, _size)                     \
 {                                                            \
+   DU_APP_MEMORY_ALLOC_SIZE_LOG(__LINE__, __FUNCTION__, _size); \
    if(SGetStaticBuffer(DU_APP_MEM_REGION, DU_POOL,           \
       (Data **)&_buf, (Size) _size, 0) == ROK)               \
    {                                                         \