* 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 \
{ \
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; \
#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; \
#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) \
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 \
}
#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)); \
{ \
if (_buf != NULLP) \
{ \
+ RLC_MEM_LOG("RLC_PST_FREE", __FILE__, __LINE__, __FUNCTION__, _size, _buf);\
(Void) SPutSBuf(_region, _pool, \
(Data *) _buf, (Size) _size); \
_buf = NULLP; \
{ \
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
#define EVENT_RLC_UE_DELETE_TMR 8
/* Wait time for RLC Timers */
-#define RLC_UE_DELETE_WAIT_TIME 1 /*in milliseconds */
+#define RLC_UE_DELETE_WAIT_TIME 5 /*in milliseconds */
/*******************************************************************************
* DBM Defines