X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrrlc%2Frlc_utils.h;h=3645a8565da2210758cdc539366bc0e556d4373d;hb=refs%2Fchanges%2F35%2F6535%2F5;hp=0eb9b78bd0b67133d099dfa2bc8d4772ddae3860;hpb=70e1fb5996d93ef4973ffb654ee6a66228e9031c;p=o-du%2Fl2.git diff --git a/src/5gnrrlc/rlc_utils.h b/src/5gnrrlc/rlc_utils.h index 0eb9b78bd..3645a8565 100755 --- a/src/5gnrrlc/rlc_utils.h +++ b/src/5gnrrlc/rlc_utils.h @@ -103,12 +103,22 @@ extern "C" { * Memory related Defines ******************************************************************************/ /* Allocate function */ +#ifdef ODU_MEMORY_DEBUG_LOG +#define RLC_MEM_LOG(_macro, _file, _line, _func, _size, _datPtr)\ +{\ + printf("\n%s=== %s +%d, %s, %d, %p\n", \ + _macro, _file, _line, _func, _size, _datPtr); \ +} +#else +#define RLC_MEM_LOG(_macro, _file, _line, _func, _size, _dataPtr) {} +#endif #define RLC_ALLOC(_cb,_buf, _size) \ { \ if (SGetSBuf(_cb->init.region, _cb->init.pool, (Data **)&_buf, \ (Size) _size) == ROK) \ { \ + RLC_MEM_LOG("RLC_ALLOC", __FILE__, __LINE__, __FUNCTION__, _size, _buf);\ memset((_buf), 0, _size); \ } \ else \ @@ -121,6 +131,7 @@ extern "C" { { \ if (_buf != NULLP) \ { \ + RLC_MEM_LOG("RLC_FREE", __FILE__, __LINE__, __FUNCTION__, _size, _buf);\ (Void) SPutSBuf(_cb->init.region, _cb->init.pool, \ (Data *) _buf, (Size) _size); \ _buf = NULLP; \ @@ -130,7 +141,8 @@ extern "C" { #define RLC_FREE_SHRABL_BUF(_region, _pool,_buf, _size) \ { \ if (_buf != NULLP) \ - { \ + { \ + RLC_MEM_LOG("RLC_FREE_SHRABL_BUF", __FILE__, __LINE__, __FUNCTION__, _size, _buf);\ (Void) SPutStaticBuffer(_region, _pool, \ (Data *) _buf, (Size) _size, 0); \ _buf = NULLP; \ @@ -139,15 +151,25 @@ extern "C" { #define RLC_FREE_SHRABL_BUF_WC(_region, _pool,_buf, _size) \ { \ + if (_buf != NULLP){\ + RLC_MEM_LOG("RLC_FREE_SHRABL_BUF_WC", __FILE__, __LINE__, __FUNCTION__, _size, _buf);\ (Void) SPutStaticBuffer(_region, _pool, \ (Data *) _buf, (Size) _size, 0); \ - _buf = NULLP; \ + _buf = NULLP; \ + }\ } #define RLC_ALLOC_SHRABL_BUF_WC(_region, _pool,_buf, _size) \ { \ - SGetStaticBuffer(_region, _pool, (Data **)&_buf, \ - (Size) _size, 0); \ + if(SGetStaticBuffer(_region, _pool, (Data **)&_buf, \ + (Size) _size, 0)==ROK) \ + {\ + RLC_MEM_LOG("RLC_ALLOC_SHRABL_BUF_WC", __FILE__, __LINE__, __FUNCTION__, _size, _buf);\ + }\ + else\ + {\ + (_buf) = NULLP;\ + }\ } #define RLC_ALLOC_SHRABL_BUF(_region, _pool,_buf, _size) \ @@ -155,6 +177,7 @@ extern "C" { if (SGetStaticBuffer(_region, _pool, (Data **)&_buf, \ (Size) _size, 0) == ROK) \ { \ + RLC_MEM_LOG("RLC_ALLOC_SHRABL_BUF", __FILE__, __LINE__, __FUNCTION__, _size, _buf);\ memset((_buf), 0, _size); \ } \ else \ @@ -164,13 +187,19 @@ extern "C" { } #define RLC_ALLOC_WC(_cb,_buf, _size) \ - SGetSBuf(_cb->init.region, _cb->init.pool, (Data **)&_buf, (Size) _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);\ + }\ +} #define RLC_REMOVE_SDU(_cb,_sduQ,_sdu) \ { \ if(_sdu->mBuf) \ { \ - SPutMsg(_sdu->mBuf); \ + RLC_MEM_LOG("RLC_REMOVE_SDU", __FILE__, __LINE__, __FUNCTION__, _sdu->sduSz, _sdu->mBuf);\ + ODU_PUT_MSG_BUF(_sdu->mBuf); \ } \ cmLListDelFrm(_sduQ,&_sdu->lstEnt); \ RLC_FREE(_cb,_sdu, sizeof(RlcSdu)); \ @@ -181,6 +210,7 @@ extern "C" { { \ if (_buf != NULLP) \ { \ + RLC_MEM_LOG("RLC_PST_FREE", __FILE__, __LINE__, __FUNCTION__, _size, _buf);\ (Void) SPutSBuf(_region, _pool, \ (Data *) _buf, (Size) _size); \ _buf = NULLP; \ @@ -230,16 +260,18 @@ extern "C" { { \ if (_buf != NULLP) \ { \ + RLC_MEM_LOG("RLC_SHRABL_STATIC_BUF_FREE", __FILE__, __LINE__, __FUNCTION__, _size, _buf);\ (Void) SPutStaticBuffer(_region, _pool, \ - (Data *) _buf, (Size) _size, 0); \ + (Data *) _buf, (Size) _size, 0); \ _buf = NULLP; \ } \ } #define RLC_SHRABL_STATIC_BUF_ALLOC(_region, _pool, _buf, _size) \ { \ - SGetStaticBuffer(_region, _pool, (Data **)&_buf, \ - (Size) _size, 0); \ + SGetStaticBuffer(_region, _pool, (Data **)&_buf, \ + (Size) _size, 0); \ + RLC_MEM_LOG("RLC_SHRABL_STATIC_BUF_ALLOC", __FILE__, __LINE__, __FUNCTION__, _size, _buf);\ } #endif @@ -421,10 +453,11 @@ extern "C" { #define RLC_MAX_UM_TMR 1 #define RLC_MAX_AM_TMR 3 #define RLC_MAX_THPT_TMR 1 +#define RLC_MAX_UE_TMR 1 /* Timer events */ #define EVENT_RLC_UMUL_REASSEMBLE_TMR 1 -#define EVENT_RLC_AMUL_REASSEMBLE_TMR 2 +#define EVENT_RLC_AMUL_REASSEMBLE_TMR 2 #define EVENT_RLC_AMUL_STA_PROH_TMR 3 #define EVENT_RLC_AMDL_POLL_RETX_TMR 4 #define EVENT_RLC_WAIT_BNDCFM 5 @@ -433,6 +466,10 @@ extern "C" { #define EVENT_RLC_L2_TMR 6 #endif /* LTE_L2_MEAS */ #define EVENT_RLC_THROUGHPUT_TMR 7 +#define EVENT_RLC_UE_DELETE_TMR 8 + +/* Wait time for RLC Timers */ +#define RLC_UE_DELETE_WAIT_TIME 5 /*in milliseconds */ /******************************************************************************* * DBM Defines @@ -1672,7 +1709,7 @@ typedef struct rlcUlCb typedef struct rlcThptPerUe { - uint16_t ueIdx; + uint16_t ueId; uint64_t dataVol; }RlcThptPerUe; @@ -1738,6 +1775,10 @@ void rlcStopTmr ARGS((RlcCb *gCb, PTR cb, uint8_t tmrType)); bool rlcChkTmr ARGS((RlcCb *gCb,PTR cb, S16 tmrEvnt)); +void rlcThptTmrExpiry(PTR cb); + +uint8_t rlcUeDeleteTmrExpiry(PTR cb); + #ifdef LTE_L2_MEAS Void rlcLmmSendAlarm ARGS (( RlcCb *gCb, uint16_t category,