}CmMemDoubleFree;
PTR prvAllocPtr[8];
-PUBLIC U8 stopBtInfo = FALSE;
-PUBLIC Buffer *palBuffer;
+U8 stopBtInfo = FALSE;
+Buffer *palBuffer;
EXTERN Buffer *mtTskBuffer1;
EXTERN Buffer *mtTskBuffer2;
PRIVATE S16 cmIccFree ARGS((Void *regionCb, Data *ptr, Size size,char*, U32));
PRIVATE S16 cmIccAllocWithLock ARGS((Void *regionCb, Size *size, U32 flags, Data **ptr, char*, U32));
PRIVATE S16 cmIccFreeWithLock ARGS((Void *regionCb, Data *ptr, Size size,char*, U32));
-PUBLIC void InsertToT2kMemLeakInfo ARGS((U32 address, U32 size, U32 lineNo, char* fileName));
+void InsertToT2kMemLeakInfo ARGS((U32 address, U32 size, U32 lineNo, char* fileName));
void RemoveFromT2kMemLeakInfo ARGS((U32 address, char *file, U32 line));
PRIVATE U32 getT2kMemLeakIndex ARGS((U32 address));
#else
#endif
PRIVATE S16 cmCtl ARGS((Void *regionCb, Event event, SMemCtl *memCtl));
PRIVATE Void cmMmHeapInit ARGS((Data *memAddr, CmMmHeapCb *heapCb, Size size));
-#if 0
-#ifdef SS_HISTOGRAM_SUPPORT
-#ifdef SSI_DEBUG_LEVEL1
-PRIVATE S16 cmAlloc ARGS((Void *regionCb, Size *size, U32 flags, Data **ptr,
- U32 memType, U32 line, U8 *fileName, U8 entId, Bool hstReg));
-PRIVATE S16 cmHeapAlloc ARGS((CmMmHeapCb *heapCb, Data **ptr, Size *size, U32 memType, U32 line, U8 *fileName, U8 entId, Bool hstReg));
-/*cm_mem_c_001.main_20-added new functionto allocate memory from new region*/
-#else
-PRIVATE S16 cmHeapAlloc ARGS((CmMmHeapCb *heapCb, Data **ptr, Size *size,
- U32 line, U8 *fileName, U8 entId, Bool hstReg));
-PRIVATE S16 cmAlloc ARGS((Void *regionCb, Size *size, U32 flags, Data **ptr,
- U32 line, U8 *fileName, U8 entId, Bool hstReg));
-#endif /* SSI_DEBUG_LEVEL1 */
-
-PRIVATE S16 cmFree ARGS((Void *regionCb, Data *ptr, Size size, U32 line,
- U8 *fileName, U8 entId, Bool hstReg));
-
-PRIVATE S16 cmHeapFree ARGS((CmMmHeapCb *heapCb, Data *ptr, Size size,
- U32 line, U8 *fileName, U8 entId, Bool hstReg));
-#else /* no histogram support */
-/* cm_mem_c_001.main_12 - prototype is changed to accept memType(static/dynamic) */
-#ifdef SSI_DEBUG_LEVEL1
-PRIVATE S16 cmHeapAlloc ARGS((CmMmHeapCb *heapCb, Data **ptr, Size *size, U32 memType));
-#else
-PRIVATE S16 cmHeapAlloc ARGS((CmMmHeapCb *heapCb, Data **ptr, Size *size));
-#endif /* SSI_DEBUG_LEVEL1 */
-PRIVATE S16 cmHeapFree ARGS((CmMmHeapCb *heapCb, Data *ptr, Size size));
-/* cm_mem_c_001.main_15 :Additions */
-#ifdef SSI_DEBUG_LEVEL1
-PRIVATE S16 cmAlloc ARGS((Void *regionCb, Size *size, U32 flags, Data **ptr, U32 memType));
-#else
-PRIVATE S16 cmAlloc ARGS((Void *regionCb, Size *size, U32 flags, Data **ptr));
-#endif /* SSI_DEBUG_LEVEL1 */
-PRIVATE S16 cmFree ARGS((Void *regionCb, Data *ptr, Size size));
-#endif /* SS_HISTOGRAM_SUPPORT */
-
-/*cm_mem_c_001.main_23 Removed support of SSI_DEBUG_LEVEL1 and SS_HISTOGRAM_SUPPORT for SS_FAP*/
-#ifdef SS_FAP
-PRIVATE S16 cmAllocWL ARGS((Void *regionCb, Size *size, U32 flags, Data **ptr));
-PRIVATE S16 cmFreeWL ARGS((Void *regionCb, Data *ptr, Size size));
-#endif
-
-
-PRIVATE Void cmMmBktInit ARGS((Data **memAddr, CmMmRegCb *regCb,
- CmMmRegCfg *cfg, U16 bktIdx, U16 *lstMapIdx));
-
-/* cm_mem_c_001.main_12 - addition of protoypes for sanity check and hash list functions */
-#ifdef SSI_DEBUG_LEVEL1
-PRIVATE S16 cmMmBktSanityChk ARGS((CmMmBkt *bkt));
-PRIVATE S16 cmMmHeapSanityChk ARGS((CmMmHeapCb *heapCb));
-PRIVATE S16 cmMmHashFunc ARGS((CmMmHashListCp *hashListCp, U32 key, U16 *idx ));
-PRIVATE S16 cmMmHashListInit ARGS((CmMmHashListCp *hashListCp, U16 nmbBins,
- Region region, Pool pool));
-PRIVATE S16 cmMmHashListDeinit ARGS((CmMmHashListCp *hashListCp, Region region, Pool pool));
-PRIVATE S16 cmMmHashListInsert ARGS((CmMmHashListCp *hashListCp, U32 key));
-#endif /* SSI_DEBUG_LEVEL1 */
-/* cm_mem_c_001.main_15 : Addtions */
-#ifdef SS_HISTOGRAM_SUPPORT
-PRIVATE S16 cmHstGrmAllocInsert ARGS((CmHstGrmHashListCp *hashListCp, U32 blkSz, U32 *reqSz, U32 line, U8 *fileName, U8 entId));
-PRIVATE S16 cmHstGrmFreeInsert ARGS((CmHstGrmHashListCp* hashListCp, U32 blkSz, U32 line, U8 *fileName, U8 entId));
-PRIVATE S16 cmHstGrmHashListInit ARGS((CmHstGrmHashListCp *hashListCp));
-PRIVATE S16 cmHstGrmHashListDeInit ARGS((CmHstGrmHashListCp *hashListCp));
-PRIVATE S16 cmHstGrmGetHashIdxAndKey ARGS((U8 *fileName, U32 line, U32 *binIdx, U32 *key));
-PRIVATE S16 cmHstGrmFindEntry ARGS((CmHstGrmHashListCp *hashListCp, U32 key, U32 *binIdx, CmMemEntries **entry));
-PRIVATE S16 cmHstGrmFillEntry ARGS((CmMemEntries *entry, U32 key, U32 line, U8 *fileName, U8 entId));
-#endif /* SS_HISTOGRAM_SUPPORT */
-#endif
/* cm_mem_c_001.main_22: Fixing warnings on GCC compiler */
#ifdef __cplusplus
U32 num_times = 0;
EXTERN pthread_t tmpRegTidMap[20];
-#if 0
-EXTERN pthread_t tmpMainTid;
-#endif
extern Bool g_usettitmr;
-PUBLIC void DumpLayersDebugInformation()
+void DumpLayersDebugInformation()
{
DumpSSIDemandQDebugInformation();
/* dump layers information only after we start receiving the TTIs */
#else
//DumpPDCPDlDebugInformation();
//DumpPDCPUlDebugInformation();
+#ifndef ODU_TEST_STUB
DumpRLCDlDebugInformation();
DumpRLCUlDebugInformation();
+#endif
//printSchCellInfo();
#endif
}
Data **next;
#endif /* SSI_DEBUG_LEVEL1 */
- TRC2(cmMmStatBktInit);
size = cfg->bktCfg[bktIdx].size;
*
*/
#ifdef ANSI
-PUBLIC S16 cmMmStatRegInit
+S16 cmMmStatRegInit
(
Region region,
CmMmRegCb *regCb,
CmMmRegCfg *cfg
)
#else
-PUBLIC S16 cmMmStatRegInit(region, regCb, cfg)
+S16 cmMmStatRegInit(region, regCb, cfg)
Region region;
CmMmRegCb *regCb;
CmMmRegCfg *cfg;
Txt errMsg[256] = {'\0'};
#endif
- TRC2(cmMmRegInit);
#if (ERRCLASS & ERRCLS_INT_PAR)
/* error check on parameters */
if ((regCb == NULLP) || (cfg == NULLP))
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
/* Error check on the configuration fields */
if ((!cfg->size) || (cfg->vAddr == NULLP) ||
(cfg->numBkts > CMM_MAX_BKT_ENT))
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
/* Check if the quantum size is power of 2 */
if ((cfg->numBkts) &&
/* cm_mem_c_001.main_20 Addition */
sprintf(errMsg,"\n cmMmRegInit() failed, check if BktQuantum size might not be power of 2 \n");
SPrint(errMsg);
- RETVALUE(RFAILED);
+ return RFAILED;
}
/*
\n",bktIdx,cfg->bktCfg[bktIdx].size,cfg->bktQnSize);
#endif
SPrint(errMsg);
- RETVALUE(RFAILED);
+ return RFAILED;
}
if ((bktBlkSize = cfg->bktCfg[bktIdx].size) < lstQnSize)
/* cm_mem_c_001.main_20 Addition */
sprintf(errMsg,"\n cmMmRegInit() failed, Two consecutive buckets are not separated by quantum size \n");
SPrint(errMsg);
- RETVALUE(RFAILED);
+ return RFAILED;
}
/* cm_mem_c_001.main_20 Addition */
if (((cfg->bktCfg[bktIdx].size) /\
\n should be less than CMM_MAX_MAP_ENT:%d \n",cfg->bktQnSize,CMM_MAX_MAP_ENT);
#endif
SPrint(errMsg);
- RETVALUE(RFAILED);
+ return RFAILED;
}
sprintf(errMsg,"\n cmMmRegInit() failed, Size of the memory region is less than the required size \n");
SPrint(errMsg);
- RETVALUE(RFAILED);
+ return RFAILED;
}
lstQnSize = ((bktBlkSize / cfg->bktQnSize) + 1) * cfg->bktQnSize;
/* Call SRegRegion to register the memory region with SSI */
if (SRegRegion(region, ®Cb->regInfo) != ROK)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
- RETVALUE(ROK);
+ return ROK;
} /* end of cmMmRegInit*/
-#if 0
-/*
-*
-* Fun: ssPutDynBufSet
-*
-* Desc: Puts the set of dynamic buffers into the global region
-*
-*
-* Ret: ROK - successful,
-* RFAILED - unsuccessful.
-*
-* Notes:
-*
-* File: cm_mem_wl.c
-*
-*/
-#ifdef ANSI
-PUBLIC S16 ssPutDynBufSet
-(
-U8 bktIdx,
-CmMmBktLstCb *bktLstCb
-)
-#else
-PUBLIC S16 ssPutDynBufSet(bktIdx, bktLstCb)
-U8 bktIdx;
-CmMmBktLstCb *bktLstCb;
-#endif
-{
- CmMmGlobRegCb *globReg;
- CmMmDynBktCb *bktCb;
-
- TRC1(ssPutDynBufSet);
-
- globReg = &osCp.globRegCb;
-
- if(bktIdx > CMM_MAX_BKT_ENT)
- {
- RETVALUE(RFAILED);
- }
-
- bktCb = &(globReg->bktTbl[bktIdx]);
-
- /* Lock the global region first */
- SLock(&(globReg->regLock));
-
- cmLListAdd2Tail(&(bktCb->listBktSet), bktLstCb);
-
- SUnlock(&(globReg->regLock));
-
- RETVALUE(ROK);
-}
-
-/*
-*
-* Fun: ssGetDynBufSet
-*
-* Desc: Gets the set of dynamic buffers into the global region
-*
-*
-* Ret: ROK - successful,
-* RFAILED - unsuccessful.
-*
-* Notes:
-*
-* File: cm_mem_wl.c
-*
-*/
-#ifdef ANSI
-PUBLIC S16 ssGetDynBufSet
-(
-U8 bktIdx,
-CmMmBktLstCb **bktLstCb
-)
-#else
-PUBLIC S16 ssGetDynBufSet(bktIdx, bktLstCb)
-U8 bktIdx;
-CmMmBktLstCb **bktLstCb;
-#endif
-{
- CmMmGlobRegCb *globReg;
- CmMmDynBktCb *bktCb;
- CmLList *lstNode;
-
- TRC1(ssGetDynBufSet);
-
- globReg = &osCp.globRegCb;
-
- if(bktIdx > CMM_MAX_BKT_ENT)
- {
- RETVALUE(RFAILED);
- }
-
- *bktLstCb = NULLP;
- bktCb = &(globReg->bktTbl[bktIdx]);
-
- /* Lock the global region first */
- SLock(&(globReg->regLock));
-
- lstNode = cmLListFirst(&(bktCb->listBktSet));
-
- if(lstNode == NULLP)
- {
- SUnlock(&(globReg->regLock));
- RETVALUE(RFAILED);
- }
-
- cmLListDelFrm(&(bktCb->listBktSet), lstNode);
- SUnlock(&(globReg->regLock));
-
- *bktLstCb = (CmMmBktLstCb *)lstNode->node;
-
- RETVALUE(ROK);
-}
-#endif
-
/*
*
*
*/
#ifdef ANSI
-PUBLIC S16 cmMmGlobRegInit
+S16 cmMmGlobRegInit
(
CmMmGlobRegCb *regCb
)
#else
-PUBLIC S16 cmMmGlobRegInit(regCb)
+S16 cmMmGlobRegInit(regCb)
CmMmGlobRegCb *regCb;
#endif
{
Txt errMsg[256] = {'\0'};
#endif
- TRC2(cmMmGlobRegInit);
#ifdef SS_MEM_WL_DEBUG
if (cmInitBtInfo() == RFAILED)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
for ( bktIdx = 0; bktIdx < regCb->numBkts; bktIdx++)
*next = NULLP;
}
- RETVALUE(ROK);
+ return ROK;
} /* end of cmMmGlobRegInit*/
#ifdef SS_USE_ICC_MEMORY
CmMmDynRegCb *regCb;
Data *memPtr;
- TRC2(cmIccAllocWithLock);
regCb = (CmMmDynRegCb *)regionCb;
if((SLock(&iccAllocFreeLock)) != ROK)
{
printf("cmIccAllocWithLock: Failed to get the ICC lock\n");
- RETVALUE(RFAILED);
+ return RFAILED;
}
memPtr = (Data *)TL_Alloc(regCb->iccHdl, *size);
if((SUnlock(&iccAllocFreeLock)) != ROK)
{
printf("cmIccAllocWithLock: Failed to unlock the ICC lock\n");
- RETVALUE(RFAILED);
+ return RFAILED;
}
if ((memPtr) == NULLP)
#endif
*ptr = memPtr;
- RETVALUE(ROK);
+ return ROK;
} /* end of cmIccAllocWithLock */
{
CmMmDynRegCb *regCb;
- TRC2(cmIccFreeWithLock);
regCb = (CmMmDynRegCb *)regionCb;
if((SLock(&iccAllocFreeLock)) != ROK)
{
printf("cmIccFreeWithLock: Failed to get the ICC lock\n");
- RETVALUE(RFAILED);
+ return RFAILED;
}
#ifdef T2K_MEM_LEAK_DBG
if((SUnlock(&iccAllocFreeLock)) != ROK)
{
printf("cmIccFreeWithLock: Failed to unlock the ICC lock\n");
- RETVALUE(RFAILED);
+ return RFAILED;
}
- RETVALUE(ROK);
+ return ROK;
} /* end of cmIccFree */
/*
CmMmDynRegCb *regCb;
Data *memPtr;
- TRC2(cmIccAlloc);
regCb = (CmMmDynRegCb *)regionCb;
*ptr = memPtr; /*TL_VA2TRUEVA(regCb->iccHdl, memPtr); */
#endif
- RETVALUE(ROK);
+ return ROK;
} /* end of cmIccAlloc */
#endif
{
CmMmDynRegCb *regCb;
- TRC2(cmIccFree);
regCb = (CmMmDynRegCb *)regionCb;
#endif
/*TL_Free(regCb->iccHdl, ptr);*/
-#if 0
- if(a < 10)
- printf("FREE -ICC Addr Before PA2VA %x After PA2VA %x\n", memPtr, ptr);
- a++;
-#endif
- RETVALUE(ROK);
+ return ROK;
} /* end of cmIccFree */
/*
*
*/
#ifdef ANSI
-PUBLIC S16 cmMmDynRegInit
+S16 cmMmDynRegInit
(
CmMmDynRegCb *regCb
)
#else
-PUBLIC S16 cmMmDynRegInit(regCb)
+S16 cmMmDynRegInit(regCb)
CmMmDynRegCb *regCb;
#endif
{
Txt regIccStr[64] = {'\0'};
#endif
- TRC2(cmMmDynRegInit);
/* Register the region/memory with ICC and get the handler for same. The id is starting
* from region+1 as the zero is used by PHY code */
#ifdef T2200_2GB_DDR_CHANGES
sprintf(regIccStr, "RxID=%d", (regCb->region + 1));
#else
-#if 0
- sprintf(regIccStr, "RxID=%d", (regCb->region + 1));
-#else
- //snprintf(regIccStr, sizeof(regIccStr), "QueueSize=%u RxID=%u", 1024, (regCb->region + 1));
-
- // snprintf(regIccStr, sizeof(regIccStr), "QueueSize=%u RxID=%u", 2048, (regCb->region + 1));
#ifdef L2_L3_SPLIT
if(clusterMode == RADIO_CLUSTER_MODE)
{
sprintf (regIccStr, "queuesize=%d rxid=%d", 512, (regCb->region) + 1);
#endif
#endif
-#endif
#endif
printf(" %s \n",regIccStr);
regCb->iccHdl = TL_Open(regIccStr, 0);
printf("\nICC Region is %d\n",regCb->region);
/* Call SRegRegion to register the memory region with SSI */
- cmMemset((U8*)®Info, 0, sizeof(regInfo));
+ memset(®Info, 0, sizeof(regInfo));
/* Register the lock region for SS_MAX_REGS - 1 region */
if((SS_MAX_REGS - 1) == regCb->region)
if (SRegDynRegion(regCb->region, ®Info) != ROK)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
- RETVALUE(ROK);
+ return ROK;
} /* end of cmMmDynRegInit*/
#else /* SS_USE_ICC_MEMORY */
*
*/
#ifdef ANSI
-PUBLIC S16 cmMmDynRegInit
+S16 cmMmDynRegInit
(
CmMmDynRegCb *regCb
)
#else
-PUBLIC S16 cmMmDynRegInit(regCb)
+S16 cmMmDynRegInit(regCb)
CmMmDynRegCb *regCb;
#endif
{
U16 idx1;
U16 numBkts;
- TRC2(cmMmDynRegInit);
/* Initialize the region control block */
region = regCb->region;
}
/* Initialize the bucket structure */
-#if 0
- regCb->bktTbl[bktIdx].numAlloc = 0;
- regCb->bktTbl[bktIdx].maxAlloc = 0;
-
- /* Update the total bucket size */
- regCb->bktSize += (regCb->bktTbl[bktIdx].size * regCb->bktTbl[bktIdx].numBkt);
-
- regCb->bktTbl[bktIdx].bktFailCnt = 0;
- regCb->bktTbl[bktIdx].bktNoFitCnt = 0;
-
- if(regCb->bktMaxBlkSize < regCb->bktTbl[bktIdx].size)
- {
- regCb->bktMaxBlkSize = regCb->bktTbl[bktIdx].size;
- }
-#endif
-
for(idx = 0; idx < numBkts; idx++)
{
regCb->bktTbl[idx].crntMemBlkSetElem = NULLP;
}
/* Call SRegRegion to register the memory region with SSI */
- cmMemset((U8*)®Info, 0, sizeof(regInfo));
-#if 1
+ memset(®Info, 0, sizeof(regInfo));
if((SS_MAX_REGS - 1) == regCb->region)
{
regInfo.alloc = cmDynAllocWithLock;
}
}
else
-#endif
{
-#if 0
- static dynLockCreated;
- regInfo.alloc = cmDynAllocWithLock;
- regInfo.free = cmDynFreeWithLock;
- if ( dynLockCreated == 0)
- {
- if((SInitLock((&dynAllocFreeLock), SS_LOCK_MUTEX)) != ROK)
- {
- printf("Failed to initialize the lock region lock\n");
- }
- dynLockCreated = 1;
- }
-#endif
-
-#if 1
regInfo.alloc = cmDynAlloc;
regInfo.free = cmDynFree;
-#endif
}
regInfo.regCb = regCb;
if (SRegDynRegion(region, ®Info) != ROK)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
- RETVALUE(ROK);
+ return ROK;
} /* end of cmMmDynRegInit*/
#endif /* SS_USE_ICC_MEMORY */
*
*/
#ifdef ANSI
-PUBLIC S16 cmMmRegDeInit
+S16 cmMmRegDeInit
(
CmMmRegCb *regCb
)
#else
-PUBLIC S16 cmMmRegDeInit(regCb)
+S16 cmMmRegDeInit(regCb)
CmMmRegCb *regCb;
#endif
{
U16 bktIdx;
- TRC2(cmMmRegDeInit);
#if (ERRCLASS & ERRCLS_INT_PAR)
/* error check on parameters */
if (regCb == NULLP)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
/* Deinitialize the hash table used for debug info storage at region level */
if (cmMmHashListDeinit(®Cb->hashListCp, regCb->region, 0) != ROK)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif /* SSI_DEBUG_LEVEL1 */
#endif
}
- RETVALUE(ROK);
+ return ROK;
} /* end of cmMmRegDeInit */
/* Check if the element exits or not */
if((memSetNode == NULLP) || (memSetNode->node == NULLP))
{
- RETVALUE(NULLP);
+ return (NULLP);
}
bkt->crntMemBlkSetElem = (CmMmBlkSetElement *)memSetNode->node;
/* Get the new block set from the gloabl region and return the same */
ssGetDynMemBlkSet(bucketIndex, bkt->crntMemBlkSetElem, 0);
- RETVALUE(bkt->crntMemBlkSetElem);
+ return (bkt->crntMemBlkSetElem);
}
/* If this is not the first time, take the bucket list CB from the
* current index */
/* if next node also empty, return failure */
if(memBlkSetElem->numFreeBlks == 0)
{
- RETVALUE(NULLP);
+ return (NULLP);
}
/* store the new index in the current node which will be
* used in the next time. */
bkt->crntMemBlkSetElem = memBlkSetElem;
}
-#if 0
- if(memBlkSetElem->nextBktPtr == NULLP)
- {
- ssGetDynMemBlkSet(bucketIndex, memBlkSetElem);
- }
-#endif
/* If we have reached the threshold value, get the next set of buckets from
* the global region and place it */
if(memBlkSetElem->numFreeBlks < bkt->blkSetAcquireThreshold)
}
/* On successful, return the bucket node to calling function */
- RETVALUE(memBlkSetElem);
+ return (memBlkSetElem);
} /* cmGetMemBlkSetForAlloc */
/* Check if the element exits or not */
if((memSetNode == NULLP) || (memSetNode->node == NULLP))
{
- RETVALUE(NULLP);
+ return (NULLP);
}
bkt->crntMemBlkSetElem = (CmMmBlkSetElement *)memSetNode->node;
- RETVALUE(bkt->crntMemBlkSetElem);
+ return (bkt->crntMemBlkSetElem);
}
/* If this is not the first time, take the bucket list CB from the
* current index */
/* if next node also empty, return failure */
if(memBlkSetElem->numFreeBlks >= bkt->bucketSetSize)
{
- RETVALUE(NULLP);
+ return (NULLP);
}
/* store the new index in the current node which will be
* used in the next time. */
*/
ssPutDynMemBlkSet(bucketIndex, nextMemBlkSetElem,
(bkt->bucketSetSize - memBlkSetElem->numFreeBlks - 1));
-#if 0
- nextMemBlkSetElem->numFreeBlks = 0;
- nextMemBlkSetElem->nextBktPtr = NULLP;
-#endif
}
}
/* On successful, return the bucket node to calling function */
- RETVALUE(memBlkSetElem);
+ return (memBlkSetElem);
}
#endif /* SS_USE_ICC_MEMORY */
#endif /* USE_PURE */
printf("Analysis from Array storing BT for freeing and allocation\n");
cmAnalyseBtInfo(ptr, regionCb->region);
SUnlock(&memDoubleFreeLock);
- RETVALUE(RFAILED);
+ return RFAILED;
}
if((cmHashListDelete(&(memDoubleFree), (PTR)memNode)) != ROK)
{
SUnlock(&memDoubleFreeLock);
- RETVALUE(RFAILED);
+ return RFAILED;
}
SUnlock(&memDoubleFreeLock);
SPutSBuf(regionCb->region, 0, (Data *)memNode, sizeof(CmMemDoubleFree));
- RETVALUE(ROK);
+ return ROK;
}
/*
SGetSBuf(regionCb->region, 0, (Data **)&memNode, sizeof(CmMemDoubleFree));
if(memNode == NULLP)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
memNode->memBlkPtr = ptr;
sizeof(PTR))) != ROK)
{
SUnlock(&memDoubleFreeLock);
- RETVALUE(RFAILED);
+ return RFAILED;
}
SUnlock(&memDoubleFreeLock);
- RETVALUE(ROK);
+ return ROK;
}
#endif
{
S16 ret;
- TRC2(cmDynAlloc);
if((SLock(&dynAllocFreeLock)) != ROK)
{
printf("cmDynAllocWithLock: Failed to get the dyn lock\n");
- RETVALUE(RFAILED);
+ return RFAILED;
}
ret = cmDynAlloc (regionCb, size,flags,ptr);
if((SUnlock(&dynAllocFreeLock)) != ROK)
{
printf("cmDynAllocWithLock: Failed to unlock the Dyn lock\n");
- RETVALUE(RFAILED);
+ return RFAILED;
}
- RETVALUE(ret);
+ return (ret);
} /* end of cmDynAlloc */
/*
{
CmMmDynRegCb *regCb;
- TRC2(cmDynAlloc);
regCb = (CmMmDynRegCb *)regionCb;
/* error check on parameters */
if ((regCb == NULLP) || (size == NULLP) || !(*size) || (ptr == NULLP))
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
{
printf("Failed to get the buffer of size %d\n", *size);
/* Some fatal error in the map table initialization. */
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
if (idx > 512)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
/* Dequeue the memory block and return it to the user */
bktIdx = regCb->mapTbl[idx].bktIdx;
#else
printf("Failed to get the buffer of size %d\n", *size);
#endif
- RETVALUE(RFAILED);
+ return RFAILED;
}
#ifdef SS_MEM_WL_DEBUG
*ptr = dynMemElem->nextBktPtr;
if (*ptr == NULLP)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
dynMemElem->nextBktPtr = *((CmMmEntry **)(*ptr));
dynMemElem->numFreeBlks--;
#ifdef SS_MEM_WL_DEBUG
prvAllocPtr[regCb->region] = *ptr;
-#if 0
- if(regCb->region == 6)
- printf("cmDynAlloc: PTR = %x\n", *ptr);
- **ptr = (U32) ((bktIdx << 4) | 0x0f);
-#endif
**ptr = (U8) bktIdx;
*(*ptr+1) = 0xde;
btInfo->btInfo[btIdx].btSize = backtrace(btInfo->btInfo[btIdx].btArr, NUM_BT_TRACES);
}
gettimeofday(&(btInfo->btInfo[btIdx].timeStamp), NULLP);
-#if 0
- cmInsertAllocPtrToList(regCb, (PTR)*ptr);
-#endif
btIdx++;
btIdx &= (NUM_FREE_BUFFERS - 1);
btInfo->btInfo[btIdx].ptr = (PTR)0;
btInfo->btInfo[btIdx].btSize = 0;
- cmMemset(btInfo->btInfo[bktIdx].btArr, 0, sizeof (btInfo->btInfo[bktIdx].btArr));
+ memset(btInfo->btInfo[bktIdx].btArr, 0, sizeof (btInfo->btInfo[bktIdx].btArr));
btInfo->btInfoIdx = btIdx;
}
#endif
- RETVALUE(ROK);
+ return ROK;
}
/* If the size is not matching, return failure to caller */
#else
printf("Failed to get the buffer of size %d\n", *size);
#endif
- RETVALUE(RFAILED);
+ return RFAILED;
#else /* use pure is on */
#ifdef SS_4GMX_LCORE
*ptr = (Data*) MxHeapAlloc(SsiHeap, *size);
- cmMemset((U8*)ptr, 0, *size);
+ memset(ptr, 0, *size);
#else
/* *ptr = (Data*) malloc(*size); */
#endif
*ptr = (Data *)malloc(*size);
if ( (*ptr) == NULLP)
- RETVALUE(RFAILED);
+ return RFAILED;
/* avail_size -= *size; */
- RETVALUE(ROK);
+ return ROK;
#endif /* USE_PURE */
} /* end of cmDynAlloc */
S8 hstGrmBuf[256];
#endif /* SS_HISTOGRAM_SUPPORT */
- TRC2(cmAlloc);
#ifndef USE_MEMCAL
UNUSED(flags);
/* error check on parameters */
if ((regCb == NULLP) || (size == NULLP) || !(*size) || (ptr == NULLP))
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
#if (ERRCLASS & ERRCLS_INT_PAR)
if ((memType != CMM_STATIC_MEM_FLAG) && (memType != CMM_DYNAMIC_MEM_FLAG))
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif /* (ERRCLASS & ERRCLS_INT_PAR) */
#endif /* SSI_DEBUG_LEVEL1 */
if (regCb->mapTbl[idx].bktIdx == 0xFF)
{
/* Some fatal error in the map table initialization. */
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
(Void) SUnlock(&(bkt->bktLock));
#endif
/* handle RTRAMPLINGNOK in SAlloc/SGetSBuf */
- RETVALUE(RTRAMPLINGNOK);
+ return (RTRAMPLINGNOK);
}
else
{
(Void) SUnlock(&(bkt->bktLock));
#endif
/* return RFAILED */
- RETVALUE(RFAILED);
+ return RFAILED;
}
}
}
/*printf("cmAlloc: bktIdx %u overused %u numAlloc %u\n", bktIdx, g_overused[bktIdx], bkt->numAlloc); */
}
}
-#if 0
- if(bkt->numAlloc < 100)
- printf("cmAlloc: Allocated PTR = %x size = %d\n", *ptr, *size);
-#endif
/* cm_mem_c_001.main_12 - addition for header manipulation */
#ifdef SSI_DEBUG_LEVEL1
(Void) SUnlock(&(bkt->bktLock));
#endif
- RETVALUE(ROK);
+ return ROK;
}
else if (flags)
{
#ifdef SS_HISTOGRAM_SUPPORT
/* cm_mem_c_001.main_12 - addition for passing an extra parameter */
#ifdef SSI_DEBUG_LEVEL1
- RETVALUE(cmHeapAlloc(&(regCb->heapCb), ptr, size, memType, line, fileName, entId, hstReg));
+ return (cmHeapAlloc(&(regCb->heapCb), ptr, size, memType, line, fileName, entId, hstReg));
#else
- RETVALUE(cmHeapAlloc(&(regCb->heapCb), ptr, size, line, fileName, entId, hstReg));
+ return (cmHeapAlloc(&(regCb->heapCb), ptr, size, line, fileName, entId, hstReg));
#endif /* SSI_DEBUG_LEVEL1 */
#else
/* cm_mem_c_001.main_12 - addition for passing an extra parameter */
#ifdef SSI_DEBUG_LEVEL1
- RETVALUE(cmHeapAlloc(&(regCb->heapCb), ptr, size, memType));
+ return (cmHeapAlloc(&(regCb->heapCb), ptr, size, memType));
#else
- RETVALUE(cmHeapAlloc(&(regCb->heapCb), ptr, size));
+ return (cmHeapAlloc(&(regCb->heapCb), ptr, size));
#endif /* SSI_DEBUG_LEVEL1 */
#endif /* SS_HISTOGRAM_SUPPORT */
}
/* No memory available */
- RETVALUE(RFAILED);
+ return RFAILED;
#else /* use pure is on */
/*cm_mem_c_001.main_27 SSI-4GMX specfic changes*/
#ifdef SS_4GMX_LCORE
*ptr = (Data*) MxHeapAlloc(SsiHeap, *size);
- cmMemset((U8*)ptr, 0, *size);
+ memset(ptr, 0, *size);
#else
*ptr = (Data*) malloc(*size);
#endif
if ( (*ptr) == NULLP)
- RETVALUE(RFAILED);
+ return RFAILED;
avail_size -= *size;
- RETVALUE(ROK);
+ return ROK;
#endif /* USE_PURE */
} /* end of cmAlloc */
*
*/
#ifdef ANSI
-PUBLIC S16 cmInitDoubleFreeList
+S16 cmInitDoubleFreeList
(
Void
)
#else
-PUBLIC S16 cmInitDoubleFreeList()
+S16 cmInitDoubleFreeList()
#endif
{
U16 offset;
CmMemDoubleFree memNode;
- TRC2(cmInitDoubleFreeList);
offset = (U16)((PTR)(&memNode.tmpListEnt) - (PTR)&memNode);
if((cmHashListInit(&(memDoubleFree), 1000, offset, 0,
CM_HASH_KEYTYPE_U32MOD, 0, 0)) != ROK);
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
SInitLock(&memDoubleFreeLock, SS_LOCK_MUTEX);
- RETVALUE(ROK);
+ return ROK;
}
#ifdef SS_MEM_WL_DEBUG
regBtInfo = (CmBtInfo *)calloc(1, 8 * sizeof (CmBtInfo));
if (regBtInfo == NULLP)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
allocBtInfo = (CmBtInfo *)calloc(1, 8 * sizeof (CmBtInfo));
if(allocBtInfo == NULLP)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
- RETVALUE(ROK);
+ return ROK;
}
#endif /* SS_MEM_WL_DEBUG */
/*
*
*/
#ifdef ANSI
-PUBLIC Void cmAnalyseBtInfo
+Void cmAnalyseBtInfo
(
PTR ptr, /* Memory block needs to be freed */
U32 idx
)
#else
-PUBLIC Void cmAnalyseBtInfo (ptr,idx)
+Void cmAnalyseBtInfo (ptr,idx)
PTR ptr; /* Memory block needs to be freed */
U32 idx;
#endif
CmBtInfo *btInfo;
U8 regIdx;
-#if 0
- for(regIdx = 0; regIdx < 8; regIdx++)
- {
- btInfo = & regBtInfo[regIdx];
- btIdx = btInfo->btInfoIdx;
-
- for (tmpCnt = 0; tmpCnt < NUM_FREE_BUFFERS; tmpCnt++)
- {
-#if 0
- if ((btInfo->btInfo[btIdx].ptr >= ptr) &&
- (btInfo->btInfo[btIdx].ptr + 128 ) >= ptr)
-
-#endif
- if(btInfo->btInfo[btIdx].btSize != 0)
- {
- U32 i;
- char **strings;
- strings = backtrace_symbols( btInfo->btInfo[btIdx].btArr,btInfo->btInfo[btIdx].btSize);
- printf("*** Last Free Region = %d PTR %x Timestamp sec = (%ld) usec = (%ld) ***\n", idx, ptr, btInfo->btInfo[btIdx].timeStamp.tv_sec, btInfo->btInfo[btIdx].timeStamp.tv_usec);
- for (i=0; i < btInfo->btInfo[btIdx].btSize; i++)
- {
- printf("%s\n", strings[i]);
- }
- printf("*******************************************************\n");
-
- free(strings);
- }
-
- btIdx--;
- if (btIdx == 0)
- {
- btIdx = NUM_FREE_BUFFERS - 1;
- }
- }
- }
-#endif
-
-
/* for(regIdx = 0; regIdx < 8; regIdx++)
{ */
idx = 2;
if((SLock(&dynAllocFreeLock)) != ROK)
{
printf("dynAllocWithLock: Failed to get the DYN lock\n");
- RETVALUE(RFAILED);
+ return RFAILED;
}
ret = cmDynFree(regionCb, ptr,size);
if((SUnlock(&dynAllocFreeLock)) != ROK)
{
printf("dynAllocWithLock: Failed to unlock the dyn lock\n");
- RETVALUE(RFAILED);
+ return RFAILED;
}
- RETVALUE(ret);
+ return (ret);
} /* end of cmDynFree */
U8 tmpVal;
#endif
- TRC2(cmDynFree);
regCb = (CmMmDynRegCb *)regionCb;
#ifdef SS_MEM_WL_DEBUG
/* error check on parameters */
if ((regCb == NULLP) || (!size) || (ptr == NULLP))
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
/* Check if the memory block is from the memory region */
if (ptr >= ((CmMmRegCb *)regCb)->regInfo.start +
((CmMmRegCb *)regCb)->regInfo.size)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
/* cm_mem_c_001.main_20 Addition */
if (ptr < regCb->regInfo.start)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
if (regCb->mapTbl[idx].bktIdx == 0xFF)
{
/* Some fatal error in the map table initialization. */
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
/* Check if the bucket index, if its not valid, return failure */
if(dynMemElem == NULLP)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#ifdef SS_MEM_WL_DEBUG
{
btInfo->btInfo[btIdx].btSize = backtrace(btInfo->btInfo[btIdx].btArr, NUM_BT_TRACES);
}
-#if 0
- cmRemoveAllocPtrFromList(regCb, (ptr + sizeof(U32)));
-#endif
gettimeofday(&(btInfo->btInfo[btIdx].timeStamp), NULLP);
btIdx++;
btInfo->btInfo[btIdx].ptr = (PTR)0;
btInfo->btInfo[btIdx].btSize = 0;
- cmMemset(btInfo->btInfo[bktIdx].btArr, 0, sizeof (btInfo->btInfo[bktIdx].btArr));
+ memset(btInfo->btInfo[bktIdx].btArr, 0, sizeof (btInfo->btInfo[bktIdx].btArr));
btInfo->btInfoIdx = btIdx;
}
prvAllocPtr[regCb->region] = NULLP;
}
- cmMemset(ptr, (regCb->region+1), bkt->size);
+ memset(ptr, (regCb->region+1), bkt->size);
#endif
/* Get the bucket node from the index returned and allocate the memory */
dynMemElem->nextBktPtr = ptr;
dynMemElem->numFreeBlks++;
- RETVALUE(ROK);
+ return ROK;
#else /* use pure is on */
- TRC2(cmDynFree);
/*cm_mem_c_001.main_27 SSI-4GMX specfic changes*/
#ifdef SS_4GMX_LCORE
(Void)MxHeapFree(SsiHeap, ptr);
/* avail_size += size; */
free(ptr);
- RETVALUE(ROK);
+ return ROK;
#endif /* USE_PURE */
S8 hstGrmBuf[256];
#endif /* SS_HISTOGRAM_SUPPORT */
- TRC2(cmFree);
regCb = (CmMmRegCb *)regionCb;
/* error check on parameters */
if ((regCb == NULLP) || (!size) || (ptr == NULLP))
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
/* Check if the memory block is from the memory region */
if (ptr >= ((CmMmRegCb *)regCb)->regInfo.start +
((CmMmRegCb *)regCb)->regInfo.size)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
/* cm_mem_c_001.main_20 Addition */
if (ptr < regCb->regInfo.start)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
if (regCb->mapTbl[idx].bktIdx == 0xFF)
{
/* Some fatal error in the map table initialization. */
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
(Void) SUnlock(&(bkt->bktLock));
#endif
- RETVALUE(ROK);
+ return ROK;
}
else
{
#endif
/* handle RTRAMPLINGNOK in SFree/SPutSBuf */
- RETVALUE(RTRAMPLINGNOK);
+ return (RTRAMPLINGNOK);
}
}
#endif
/* handle RDBLFREE in SFree/SPutSBuf */
- RETVALUE(RDBLFREE);
+ return (RDBLFREE);
}
if (CMM_IS_STATIC(ptrHdr->memFlags))
{
#else
(Void) SUnlock(&(bkt->bktLock));
#endif
- RETVALUE(ROK);
+ return ROK;
}
else
{
#endif
/* handle RTRAMPLINGNOK in SFree/SPutSBuf */
- RETVALUE(RTRAMPLINGNOK);
+ return (RTRAMPLINGNOK);
}
}
bkt->nextBlk = ptrHdr;
#else
/* MS_REMOVE */
-#if 0
- /* sriky: For debugging double deallocation */
- cmMemset(ptr, 0, 50);
-#endif
*((CmMmEntry **)ptr) = bkt->next;
bkt->next = (CmMmEntry *)ptr;
#endif /* SSI_DEBUG_LEVEL1 */
-#if 0
- if(bkt->numAlloc <= 0 || bkt->numAlloc > 12000)
- {
- void *array[10];
- size_t tmpsize, i;
- char **strings;
-
- printf("\n cmFree: Freed pointer = %x and backtrace:\n", ptr);
- printf("****************************************\n");
- tmpsize = backtrace(array, 10);
- strings = backtrace_symbols(array, tmpsize);
- for(i = 0; i < tmpsize; i++)
- printf("%s\n", strings[i]);
- printf("****************************************\n");
- free(strings);
- }
-#endif
/*
* Decrement the statistics variable of number of memory block
* allocated
(Void) SUnlock(&(bkt->bktLock));
#endif
- RETVALUE(ROK);
+ return ROK;
}
/* The memory block was allocated from the heap pool */
/* cm_mem_c_001.main_15 : Additions */
#ifdef SS_HISTOGRAM_SUPPORT
- RETVALUE(cmHeapFree (&(regCb->heapCb), ptr, size, line, fileName, entId, hstReg));
+ return (cmHeapFree (&(regCb->heapCb), ptr, size, line, fileName, entId, hstReg));
#else
- RETVALUE(cmHeapFree (&(regCb->heapCb), ptr, size));
+ return (cmHeapFree (&(regCb->heapCb), ptr, size));
#endif /* SS_HISTOGRAM_SUPPORT */
#else /* use pure is on */
- TRC2(cmFree);
/*cm_mem_c_001.main_27 SSI-4GMX specfic changes*/
#ifdef SS_4GMX_LCORE
(Void)MxHeapFree(SsiHeap, ptr);
(Void)free(ptr);
#endif
avail_size += size;
- RETVALUE(ROK);
+ return ROK;
#endif /* USE_PURE */
CmMmRegCb *regCb;
/*cm_mem_c_001.main_23 Removed support of SSI_DEBUG_LEVEL1 and SS_HISTOGRAM_SUPPORT for SS_FAP*/
- TRC2(cmAllocWL);
/*cm_mem_c_001.main_23 Removed support of USE_MEMCAL and MEMCAL_DEBUG support for SS_FAP*/
/* error check on parameters */
if ((regCb == NULLP) || (size == NULLP) || !(*size) || (ptr == NULLP))
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
/* Update the size parameter */
*size = bkt->size;
- RETVALUE(ROK);
+ return ROK;
}
}
}
* heap pool.
*/
/*cm_mem_c_001.main_23 Removed support of SSI_DEBUG_LEVEL1 and SS_HISTOGRAM_SUPPORT for SS_FAP*/
- RETVALUE(cmHeapAlloc(&(regCb->heapCb), ptr, size));
+ return (cmHeapAlloc(&(regCb->heapCb), ptr, size));
}
/* No memory available */
- RETVALUE(RFAILED);
+ return RFAILED;
#else /* use pure is on */
/*cm_mem_c_001.main_27 SSI-4GMX specfic changes*/
#ifdef SS_4GMX_LCORE
*ptr = (Data*) MxHeapAlloc(SsiHeap, *size);
- cmMemset((U8*)ptr, 0, *size);
+ memset(ptr, 0, *size);
#else
/* *ptr = (Data*) malloc(*size); */
#endif
*ptr = (Data *)malloc(*size);
if ( (*ptr) == NULLP)
- RETVALUE(RFAILED);
+ return RFAILED;
/* avail_size -= *size; */
- RETVALUE(ROK);
+ return ROK;
#endif /* USE_PURE */
} /* end of cmAllocWL */
CmMmRegCb *regCb;
/*cm_mem_c_001.main_23 Removed support of SSI_DEBUG_LEVEL1 and SS_HISTOGRAM_SUPPORT for SS_FAP*/
- TRC2(cmFreeWL);
regCb = (CmMmRegCb *)regionCb;
/* error check on parameters */
if ((regCb == NULLP) || (!size) || (ptr == NULLP))
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
/* Check if the memory block is from the memory region */
if (ptr >= ((CmMmRegCb *)regCb)->regInfo.start +
((CmMmRegCb *)regCb)->regInfo.size)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
/*
* Check if the memory block was allocated from the bucket pool.
*/
-#if 0
- if(ptr < regCb->regInfo.start)
- {
- Buffer *tmpbuf = NULLP;
- tmpbuf->b_cont = NULLP;
- }
-#endif
-
#ifdef MSPD_T2K_TRACK_BUG
size += 4;
#endif
if (regCb->mapTbl[idx].bktIdx == 0xFF)
{
/* Some fatal error in the map table initialization. */
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
*/
bkt->numAlloc--;
-#if 0
- if ((regCb->region == 2) && (bkt->numAlloc < 50))
- {
- CmBtInfo *btInfo;
- U32 btIdx;
- btInfo = &allocBtInfo[regCb->region];
- btIdx = btInfo->btInfoIdx;
- btInfo->btInfo[btIdx].ptr = (PTR) *ptr;
- {
- btInfo->btInfo[btIdx].btSize = backtrace(btInfo->btInfo[btIdx].btArr, NUM_BT_TRACES);
- }
-#if 0
- gettimeofday(&(btInfo->btInfo[btIdx].timeStamp), NULLP);
- cmInsertAllocPtrToList(regCb, (PTR)*ptr);
-#endif
-
- btIdx++;
- btIdx &= (NUM_FREE_BUFFERS - 1);
-
- btInfo->btInfo[btIdx].ptr = (PTR)0;
- btInfo->btInfo[btIdx].btSize = 0;
- cmMemset(btInfo->btInfo[regCb->mapTbl[idx].bktIdx].btArr, 0, sizeof (btInfo->btInfo[regCb->mapTbl[idx].bktIdx].btArr));
- btInfo->btInfoIdx = btIdx;
- }
-#endif
-
- RETVALUE(ROK);
+ return ROK;
}
/* The memory block was allocated from the heap pool */
- RETVALUE(cmHeapFree (&(regCb->heapCb), ptr, size));
+ return (cmHeapFree (&(regCb->heapCb), ptr, size));
#else /* use pure is on */
- TRC2(cmFree);
/*cm_mem_c_001.main_27 SSI-4GMX specfic changes*/
#ifdef SS_4GMX_LCORE
(Void)MxHeapFree(SsiHeap, ptr);
/* avail_size += size; */
free(ptr);
- RETVALUE(ROK);
+ return ROK;
#endif /* USE_PURE */
{
CmMmRegCb *regCb;
- TRC2(cmCtl);
regCb = (CmMmRegCb *)regionCb;
/* error check on parameters */
if ((regCb == NULLP) || (memCtl == NULLP))
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
if ((memCtl->u.vtop.vaddr == NULLP) ||
(memCtl->u.vtop.paddr == NULLP))
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
offset = memCtl->u.vtop.vaddr - regCb->regInfo.start;
*(memCtl->u.vtop.paddr) = regCb->pAddr + offset;
- RETVALUE(ROK);
+ return ROK;
}
break;
}
if (!(memCtl->u.chkres.size) ||
(memCtl->u.chkres.status == NULLP))
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
#endif
#ifndef USE_PURE
(regCb->heapSize/10));
}
- RETVALUE(ROK);
+ return ROK;
#else /* use pure is on */
*(memCtl->u.chkres.status) = ((avail_size) /
(regCb->regInfo.size/10));
- RETVALUE(ROK);
+ return ROK;
#endif /* USE_PURE */
}
default:
{
/* No other event is supported currently */
- RETVALUE(RFAILED);
+ return RFAILED;
}
}
/* shouldn't reach here */
- RETVALUE(RFAILED);
+ return RFAILED;
} /* end of cmCtl */
\f
-#if 0
-/*
-*
-* Fun: cmMmBktInit
-*
-* Desc: Initialize the bucket and the map table.
-*
-*
-* Ret: ROK - successful,
-* RFAILED - unsuccessful.
-*
-* Notes: This function is called by the cmMmRegInit.
-*
-* File: cm_mem_wl.c
-*
-*/
-#ifdef ANSI
-PRIVATE Void cmMmBktInit
-(
-Data **memAddr,
-CmMmRegCb *regCb,
-CmMmRegCfg *cfg,
-U16 bktIdx,
-U16 *lstMapIdx
-)
-#else
-PRIVATE Void cmMmBktInit (memAddr, regCb, cfg, bktIdx, lstMapIdx)
-Data **memAddr;
-CmMmRegCb *regCb;
-CmMmRegCfg *cfg;
-U16 bktIdx;
-U16 *lstMapIdx;
-#endif
-{
- U32 cnt;
- U16 idx;
- U32 numBlks;
- Size size;
- Data **next;
- U16 blkSetRelThreshold;
- CmMmBktLstCb *bktLstCb;
-
- TRC2(cmMmBktInit);
-
-
- size = cfg->bktCfg[bktIdx].size;
- numBlks = cfg->bktCfg[bktIdx].numBlks;
-
- regCb->bktTbl[bktIdx].blkSetRelThreshold = cfg->bktCfg[bktIdx].blkSetRelThreshold;
- regCb->bktTbl[bktIdx].blkSetAcquireThreshold = cfg->bktCfg[bktIdx].blkSetAcquireThreshold;
- blkSetRelThreshold = cfg->bktCfg[bktIdx].blkSetRelThreshold;
-
- /* Initialize the bucket linked list */
- cmLListInit(®Cb->bktTbl[bktIdx].listBktSet);
-
- /* Reset the next pointer */
- regCb->bktTbl[bktIdx].next = NULLP;
-
- /* Initialize the link list of the memory block */
- next = &(regCb->bktTbl[bktIdx].next);
- for (cnt = 0; cnt < numBlks; cnt++)
- {
- *next = *memAddr;
- next = (CmMmEntry **)(*memAddr);
- *memAddr = (*memAddr) + size;
-
- /* Maintain the list Cb */
- if((cnt != 0) && (!(cnt % blkSetRelThreshold)))
- {
- bktLstCb = calloc(1, sizeof(CmMmBktLstCb));
- bktLstCb->nextBktPtr = regCb->bktTbl[bktIdx].next;
- bktLstCb->numBkt = blkSetRelThreshold;
- cmLListAdd2Tail((®Cb->bktTbl[bktIdx].listBktSet), (&bktLstCb->memSetNode));
- next = &(regCb->bktTbl[bktIdx].next);
- regCb->numBkts++;
- }
- }
- *next = NULLP;
-
- bktLstCb = cmLListFirst((®Cb->bktTbl[bktIdx].listBktSet));
- regCb->bktTbl[bktIdx].next = bktLstCb->nextBktPtr;
- cmLListDelFrm((®Cb->bktTbl[bktIdx].listBktSet), bktLstCb);
- free(bktLstCb);
-
- /* Initialize the Map entry */
- idx = size / cfg->bktQnSize;
-
- /*
- * Check if the size is multiple of quantum size. If not we need to initialize
- * one more map table entry.
- */
- if(size % cfg->bktQnSize)
- {
- idx++;
- }
-
- while ( *lstMapIdx < idx)
- {
- regCb->mapTbl[*lstMapIdx].bktIdx = bktIdx;
-
-#if (ERRCLASS & ERRCLS_DEBUG)
- regCb->mapTbl[*lstMapIdx].numReq = 0;
- regCb->mapTbl[*lstMapIdx].numFailure = 0;
-#endif
-
- (*lstMapIdx)++;
- }
-
- /* Initialize the bucket structure */
- regCb->bktTbl[bktIdx].size = size;
- regCb->bktTbl[bktIdx].numBlks = numBlks;
- regCb->bktTbl[bktIdx].numAlloc = 0;
- regCb->bktTbl[bktIdx].maxAlloc = 0;
-
- /* Update the total bucket size */
- regCb->bktSize += (size * numBlks);
-
- regCb->bktTbl[bktIdx].bktFailCnt = 0;
- regCb->bktTbl[bktIdx].bktNoFitCnt = 0;
-
- RETVOID;
-} /* end of cmMmBktInit */
-#endif
-
-\f
/*
*
* Fun: cmMmHeapInit
#ifdef SSI_DEBUG_LEVEL1
U16 idx;
#endif /* SSI_DEBUG_LEVEL1 */
- TRC2(cmMmHeapInit);
/* Initialize the heap control block */
heapCb->vStart = memAddr;
S8 hstGrmBuf[256];
#endif /* SS_HISTOGRAM_SUPPORT */
- TRC2(cmHeapAlloc);
/* cm_mem_c_001.main_15 : Additions */
/* Acquire the heap lock */
/* cm_mem_c_001.main_13 : Replaced SLock with WTLock for NT */
#else
(Void) SUnlock (&(heapCb->heapLock));
#endif
- RETVALUE(ROUTRES);
+ return (ROUTRES);
}
(Void) SUnlock (&(heapCb->heapLock));
#endif
/* handle RTRAMPLINGNOK in SAlloc/SGetSBuf */
- RETVALUE(RTRAMPLINGNOK);
+ return (RTRAMPLINGNOK);
}
else
{
#else
(Void) SUnlock (&(heapCb->heapLock));
#endif
- RETVALUE(RFAILED);
+ return RFAILED;
}
}
}
#endif /* SS_HISTOGRAM_SUPPORT */
- RETVALUE(ROK);
+ return ROK;
}
}
(Void) SUnlock (&(heapCb->heapLock));
#endif
- RETVALUE(ROUTRES);
+ return (ROUTRES);
} /* end of cmHeapAlloc */
S8 hstGrmBuf[256];
#endif /* SS_HISTOGRAM_SUPPORT */
- TRC2(cmHeapFree);
/* Roundup the requested size */
size = CMM_DATALIGN(size, (heapCb->minSize));
(Void) SUnlock (&(heapCb->heapLock));
#endif
/* handle RTRAMPLINGNOK in SAlloc/SGetSBuf */
- RETVALUE(RTRAMPLINGNOK);
+ return (RTRAMPLINGNOK);
}
else
{
(Void) SUnlock (&(heapCb->heapLock));
#endif
- RETVALUE(ROK);
+ return ROK;
}
}
(Void) SUnlock (&(heapCb->heapLock));
#endif
- RETVALUE(RDBLFREE);
+ return (RDBLFREE);
}
#endif /* SSI_DEBUG_LEVEL1 */
#endif
/* This block is already freed in the heap */
- RETVALUE(RDBLFREE);
+ return (RDBLFREE);
}
/* update the flags as it is a new node */
if (CMM_IS_STATIC(p->memFlags))
}
}/* End of if */
#endif /* SS_HISTOGRAM_SUPPORT */
- RETVALUE(ROK);
+ return ROK;
}
}
else if (p < curHBlk)
}
}/* End of if */
#endif /* SS_HISTOGRAM_SUPPORT */
- RETVALUE(ROK);
+ return ROK;
}
}
}
}/* End of if */
#endif /* SS_HISTOGRAM_SUPPORT */
- RETVALUE(ROK);
+ return ROK;
}
/* Release the lock */
(Void) SUnlock (&(heapCb->heapLock));
#endif
- RETVALUE(RFAILED);
+ return RFAILED;
} /* end of cmHeapFree */
/* cm_mem_c_001.main_15 : Additions */
#endif
*
*/
#ifdef ANSI
-PUBLIC Void cmInitMemLeakMdl
+Void cmInitMemLeakMdl
(
Void
)
#else
-PUBLIC Void cmInitMemLeakMdl (Void)
+Void cmInitMemLeakMdl (Void)
#endif
{
U8 memMdl;
U8 hashIdx;
- TRC3(cmInitMemLeakMdl);
memLkCb.memLkMdlInit = FALSE;
for(memMdl = 0; memMdl < CM_MEM_USR_MDL; memMdl++)
*
**/
#ifdef ANSI
-PUBLIC Void cmDeinitMemLeakMdl
+Void cmDeinitMemLeakMdl
(
Void
)
#else
-PUBLIC Void cmDeinitMemLeakMdl (Void)
+Void cmDeinitMemLeakMdl (Void)
#endif
{
U8 memMdl;
U8 hashIdx;
- TRC3(cmDeinitMemLeakMdl);
memLkCb.memLkMdlInit = FALSE;
for(memMdl = 0; memMdl < CM_MEM_USR_MDL; memMdl++)
*
*/
#ifdef ANSI
-PUBLIC Void cmMemOpenMemLkFile
+Void cmMemOpenMemLkFile
(
S8 *arg
)
#else
-PUBLIC Void cmMemOpenMemLkFile (arg)
+Void cmMemOpenMemLkFile (arg)
S8 *msOptArg;
#endif
{
- TRC3(cmMemOpenMemLkFile);
memLkCb.fileLkLog = NULLP;
memLkCb.fileLkLog = fopen(arg, "w");
RETVOID;
*
*/
#ifdef ANSI
-PUBLIC Void SLogLkInfo
+Void SLogLkInfo
(
Void
)
#else
-PUBLIC Void SLogLkInfo (Void)
+Void SLogLkInfo (Void)
#endif
{
U8 idx;
Txt prntBuf[255];
S8 **funcNm;
- TRC3(SLogLkInfo);
if( memLkCb.memLkMdlInit == FALSE)
{
RETVOID;
*
*/
#ifdef ANSI
-PUBLIC Void SFlushLkInfo
+Void SFlushLkInfo
(
Void
)
#else
-PUBLIC Void SFlushLkInfo (Void)
+Void SFlushLkInfo (Void)
#endif
{
MemAllocInfo *newMemInfo;
U8 i;
#endif /* SS_MEM_LEAK_SOL */
- TRC3(SFlushLkInfo);
if( memLkCb.memLkMdlInit == FALSE)
{
RETVOID;
*
*/
#ifdef ANSI
-PUBLIC Void cmStorAllocBlk
+Void cmStorAllocBlk
(
U32 addr,
Size reqSz,
U16 bktIdx
)
#else
-PUBLIC Void cmStorAllocBlk (addr, reqSz, allocSz, bktIdx)
+Void cmStorAllocBlk (addr, reqSz, allocSz, bktIdx)
U32 addr;
Size reqSz;
Size allocSz;
MemAllocInfo *allocInfo;
U8 moduleId;
- TRC3(cmStorAllocBlk);
if( memLkCb.memLkMdlInit == FALSE)
{
RETVOID;
/*cm_mem_c_001.main_27 SSI-4GMX specfic changes*/
#ifdef SS_4GMX_LCORE
funcNm = (S8 **)MxHeapAlloc(SsiHeap, (sizeof(U32) * CM_MAX_STACK_TRACE));
- cmMemset((U8*)funcNm, 0, (sizeof(U32) * CM_MAX_STACK_TRACE));
+ memset(funcNm, 0, (sizeof(U32) * CM_MAX_STACK_TRACE));
#else
funcNm = (S8 **)calloc(1, (sizeof(U32) * CM_MAX_STACK_TRACE));
#endif
/*cm_mem_c_001.main_27 SSI-4GMX specfic changes*/
#ifdef SS_4GMX_LCORE
allocInfo = (MemAllocInfo *)MxHeapAlloc(SsiHeap, sizeof(MemAllocInfo));
- cmMemset((U8*)allocInfo, 0, sizeof(MemAllocInfo));
+ memset(allocInfo, 0, sizeof(MemAllocInfo));
#else
allocInfo = (MemAllocInfo *)calloc(1, sizeof(MemAllocInfo));
#endif
*
*/
#ifdef ANSI
-PUBLIC U8 cmMemGetModuleId
+U8 cmMemGetModuleId
(
S8 **funNm,
S32 traceSize
)
#else
-PUBLIC U8 cmMemGetModuleId (funNm, traceSize)
+U8 cmMemGetModuleId (funNm, traceSize)
S8 **funNm;
S32 traceSize;
#endif /* ANSI */
Txt *memFn[]={"SGetMsg", "SGetSBuf", "SGetDBuf", NULLP};
/*cm_mem_c_001.main_25 : Fix for TRACE5 feature crash due to missing TRC MACRO*/
- TRC3(cmMemGetModuleId)
for(idx = 0; idx < traceSize; idx++)
{
memReqIdx = -1;
funNm);
if(memReqIdx >= 0)
{
- RETVALUE(mdlFunStrIdx);
+ return (mdlFunStrIdx);
}
mdlFunStrIdx++;
}
(const S8 *)memUsrMdlStr[mdlFunStrIdx].fPStr);
if(retVal == NULLD)
{
- RETVALUE(mdlFunStrIdx);
+ return (mdlFunStrIdx);
}
mdlFunStrIdx++;
}
}
- RETVALUE(0);
+ return (0);
} /* cmMemGetModuleId */
/*
*
*/
#ifdef ANSI
-PUBLIC S16 cmMemGetStrMtchIdx
+S16 cmMemGetStrMtchIdx
(
U8 strtIdx,
U8 endIdx,
S8 **strLst
)
#else
-PUBLIC S16 cmMemGetStrMtchIdx(strtIdx, endIdx, str, strLst)
+S16 cmMemGetStrMtchIdx(strtIdx, endIdx, str, strLst)
U8 strtIdx;
U8 endIdx;
S8 *str;
U32 tempLen;
U8 idx;
S32 retVal;
- TRC3(cmMemGetStrMtchIdx);
len = strlen((const S8 *)str);
cmpStr[0] = '(';
if(!found)
{
- RETVALUE(-1);
+ return (-1);
}
- RETVALUE(strtIdx);
+ return (strtIdx);
} /* cmMemGetStrMtchIdx */
*
*/
#ifdef ANSI
-PUBLIC Void cmRlsAllocBlk
+Void cmRlsAllocBlk
(
U32 addr
)
#else
-PUBLIC Void cmRlsAllocBlk(addr)
+Void cmRlsAllocBlk(addr)
U32 addr;
#endif
{
S32 traceSize;
MemAllocInfo *memAllocInfo;
- TRC3(cmRlsAllocBlk);
if( memLkCb.memLkMdlInit == FALSE)
{
RETVOID;
*
*/
#ifdef ANSI
-PUBLIC S32 cmAddrToSymStr
+S32 cmAddrToSymStr
(
Void *pc,
S8 *buffer,
S32 size
)
#else
-PUBLIC S32 cmAddrToSymStr(pc, buffer, size)
+S32 cmAddrToSymStr(pc, buffer, size)
Void *pc;
S8 *buffer;
S32 size;
Dl_info info;
Sym *sym;
- TRC3(cmAddrToSymStr);
if (dladdr1(pc, &info, (Void **)&sym, RTLD_DL_SYMENT) == 0)
{
- RETVALUE(snprintf(buffer, size, "[0x%p]", pc));
+ return (snprintf(buffer, size, "[0x%p]", pc));
}
if ((info.dli_fname != NULLP && info.dli_sname != NULLP) &&
((uintptr_t)pc - (uintptr_t)info.dli_saddr < sym->st_size))
{
- RETVALUE(snprintf(buffer, size, "%s(%s+0x%x) [0x%p]",
+ return (snprintf(buffer, size, "%s(%s+0x%x) [0x%p]",
info.dli_fname,
info.dli_sname,
(unsigned long)pc - (unsigned long)info.dli_saddr, pc));
}
else
{
- RETVALUE(snprintf(buffer, size, "%s(0x%p [0x%p]",
+ return (snprintf(buffer, size, "%s(0x%p [0x%p]",
info.dli_fname,
(unsigned long)pc - (unsigned long)info.dli_fbase, pc));
}
*
*/
#ifdef ANSI
-PUBLIC S32 cmLeakCallBack
+S32 cmLeakCallBack
(
uintptr_t pc,
S32 sigNo,
Void *arg
)
#else
-PUBLIC S32 cmLeakCallBack(pc, sigNo, arg)
+S32 cmLeakCallBack(pc, sigNo, arg)
uintptr_t pc;
S32 sigNo;
Void *arg;
#endif
{
S8 *buffer;
- TRC3(cmLeakCallBack);
Backtrace_t *bt = (Backtrace_t *)arg;
if (bt->bt_actcount >= bt->bt_maxcount)
- RETVALUE(-1);
+ return (-1);
/*cm_mem_c_001.main_27 SSI-4GMX specfic changes*/
#ifdef SS_4GMX_LCORE
buffer = (S8 *)MxHeapAlloc(SsiHeap, 510);
- cmMemset((U8*)buffer, 0, 510);
+ memset(buffer, 0, 510);
#else
buffer = (S8 *)calloc(1, 510);
#endif
(void) cmAddrToSymStr((void *)pc, buffer, 505);
bt->bt_buffer[bt->bt_actcount++] = (S8 *)buffer;
- RETVALUE(0);
+ return (0);
} /* cmLeakCallBack */
/*
*
*/
#ifdef ANSI
-PUBLIC S32 backtrace
+S32 backtrace
(
Void **buffer,
S32 count
)
#else
-PUBLIC S32 backtrace(buffer, count)
+S32 backtrace(buffer, count)
Void **buffer;
S32 count;
#endif
{
- TRC3(backtrace);
Backtrace_t bt;
ucontext_t u;
bt.bt_actcount = 0;
if (getcontext(&u) < 0)
- RETVALUE(0);
+ return (0);
(Void) walkcontext(&u, cmLeakCallBack, &bt);
- RETVALUE(bt.bt_actcount);
+ return (bt.bt_actcount);
} /* backtrace */
CmMmBlkHdr *ptrBlk;
U32 blkCnt;
- TRC2(cmMmBktSanityChk);
bkt->trampleCount = 0;
if (bkt->trampleCount > CMM_TRAMPLING_THRESHOLD)
{
/* Take action to invalidate the entire bucket */
- RETVALUE(RTRAMPLINGNOK);
+ return (RTRAMPLINGNOK);
}
}
/* reach next memory block in this bucket manually */
SDisplay(0, dbgPrntBuf);
#endif /* DEBUGP */
- RETVALUE(RTRAMPLINGOK);
+ return (RTRAMPLINGOK);
}
/*
#endif
{
- TRC2(cmMmHeapSanityChk);
/* increment the trample count */
heapCb->trampleCount++;
if (heapCb->trampleCount > CMM_TRAMPLING_THRESHOLD)
{
- RETVALUE(RTRAMPLINGNOK);
+ return (RTRAMPLINGNOK);
}
- RETVALUE(RTRAMPLINGOK);
+ return (RTRAMPLINGOK);
}
/*
*
*/
#ifdef ANSI
-PUBLIC S16 cmMmRegIsBlkSane
+S16 cmMmRegIsBlkSane
(
CmMmBlkHdr *blkPtr
)
#else
-PUBLIC S16 cmMmRegIsBlkSane(blkPtr)
+S16 cmMmRegIsBlkSane(blkPtr)
CmMmBlkHdr *blkPtr;
#endif
{
U32 sigCnt;
- TRC2(cmMmRegIsBlkSane);
for ( sigCnt=0; sigCnt < CMM_TRAMPLING_SIGNATURE_LEN; sigCnt++)
{
if (blkPtr->trSignature[sigCnt] != 0xAB)
{
- RETVALUE(RFAILED);
+ return RFAILED;
}
}
- RETVALUE(ROK);
+ return ROK;
}
/*
U16 *idx; /* idx to return */
#endif
{
- TRC2(cmMmHashFunc);
*idx = (U16)(key % hashListCp->numOfbins);
- RETVALUE(ROK);
+ return ROK;
} /* end of cmMmHashFunc () */
U16 i;
CmMmHashListEnt *hl;
- TRC2(cmMmHashListInit);
/* initialize control point fields */
hashListCp->hashList = NULLP;
{
if (SGetSBuf(region, pool, (Data **) &hashListCp->hashList,
(Size)(nmbBins * sizeof(CmMmHashListEnt))) != ROK)
- RETVALUE(RFAILED);
+ return RFAILED;
/* initialize bin pointers */
hl = hashListCp->hashList;
hashListCp->numOfbins = nmbBins;
}
- RETVALUE(ROK);
+ return ROK;
}
/*
Pool pool; /* memory pool to allocate bins */
#endif
{
- TRC2(cmMmHashListDeinit);
/* deallocate memory for bins */
if (hashListCp->numOfbins)
hashListCp->numOfbins = 0;
hashListCp->numOfEntries = 0;
- RETVALUE(ROK);
+ return ROK;
} /* end of cmMmHashListDeinit */
/*
U16 idx; /* index for insertion into hash list */
U16 i;
- TRC2(cmMmHashListInsert);
/* check if hashListCp is initialised yet */
if ( hashListCp->numOfbins == 0)
- RETVALUE(ROK);
+ return ROK;
/* compute index for insertion */
if (cmMmHashFunc(hashListCp, key, &idx) != ROK)
- RETVALUE(RFAILED);
+ return RFAILED;
hashListEnt = hashListCp->hashList;
if (i == CMM_STAT_HASH_TBL_LEN)
{
/* there is no free slot for this key */
- RETVALUE(RFAILED);
+ return RFAILED;
}
}
- RETVALUE(ROK);
+ return ROK;
} /* end of cmMmHashListInsert */
#endif /* SSI_DEBUG_LEVEL1 */
#endif
{
/*cm_mem_c_001.main_25 : Fix for TRACE5 feature crash due to missing TRC MACRO*/
- TRC2(cmHstGrmHashListInit)
#ifdef DEBUGP
/* display an error message here */
/*cm_mem_c_001.main_25: Fixed Warnings for 32/64 bit compilation*/
SDisplay(0, dbgPrntBuf);
#endif /* DEBUGP */
memset(hashListCp, 0, sizeof(CmHstGrmHashListCp));
- RETVALUE(ROK);
+ return ROK;
}
/*
#endif
{
/*cm_mem_c_001.main_25 : Fix for TRACE5 feature crash due to missing TRC MACRO*/
- TRC2(cmHstGrmHashListDeInit)
#ifdef DEBUGP
/* display an error message here */
/*cm_mem_c_001.main_25: Fixed Warnings for 32/64 bit compilation*/
SDisplay(0, dbgPrntBuf);
#endif /* DEBUGP */
memset(hashListCp, 0, sizeof(CmHstGrmHashListCp));
- RETVALUE(ROK);
+ return ROK;
}
/*
CmMemEntries *entry = NULLP; /* Entry which contains the information */
- TRC2(cmHstGrmFreeInsert);
/* check for the total number of entries in the hash list. *
* If there is no place for new entry return failure */
{
entry->freedBytes += blkSz;
entry->bucketFreeReq++;
- RETVALUE(ROK);
+ return ROK;
} /* End of if */
/* If hash list is full then print the error tna continue */
if(hashListCp->totalNumEntries == (CMM_HIST_MAX_MEM_BIN * CMM_HIST_MAX_MEM_ENTRY_PER_BIN))
{
printf("No place in the hash list. Increase the value of macro CMM_HIST_MAX_MEM_BIN and CMM_HIST_MAX_MEM_ENTRY_PER_BIN \n");
- RETVALUE(RFAILED);
+ return RFAILED;
} /* End of if */
/* Take the address of next free entry in the hash bin */
/* Increase the total number of entries in the hash list */
hashListCp->totalNumEntries++;
- RETVALUE(ROK);
+ return ROK;
} /* end of cmHstGrmFreeInsert */
U32 ret = 0;
CmMemEntries *entry = NULLP;
- TRC2(cmHstGrmAllocInsert);
/* check for the total number of entries in the hash list. *
* If there is no place for new entry return failure */
entry->allocBytes += blkSz;
entry->bucketAllocReq++;
entry->wastedBytes += (blkSz - *reqSz);
- RETVALUE(ROK);
+ return ROK;
} /* End of if */
if(hashListCp->totalNumEntries == (CMM_HIST_MAX_MEM_BIN * CMM_HIST_MAX_MEM_ENTRY_PER_BIN))
{
printf("No place in the hash list. Increase the value of macro CMM_HIST_MAX_MEM_BIN and CMM_HIST_MAX_MEM_ENTRY_PER_BIN\n");
- RETVALUE(RFAILED);
+ return RFAILED;
} /* End of if */
/* Take the address of next free entry in the hash bin */
/* Increase the total number of entries in the hash list */
hashListCp->totalNumEntries++;
- RETVALUE(ROK);
+ return ROK;
} /* end of cmHstGrmAllocInsert */
{
U32 i = 0;
- TRC2(cmHstGrmGetHashIdxAndKey);
/* Calculate the key using file name and line number */
for(i = 0 ; fileName[i] != '\0'; i++)
}/* End of for */
*key += line;
*binIdx = ( *key % CMM_HIST_MAX_MEM_BIN);
- RETVALUE(ROK);
+ return ROK;
} /* end of cmHstGrmFillEntry */
/*
{
U32 idx = 0;
- TRC2(cmHstGrmFillEntry);
entry->key = key;
entry->line = line;
entry->entId = entId;
entry->fileName[idx] = fileName[idx];
}
entry->fileName[idx] = '\0';
- RETVALUE(ROK);
+ return ROK;
} /* end of cmHstGrmFillEntry */
/*
U32 numBin = 0;
CmHstGrmHashListEnt *tmpBin = NULLP;
- TRC2(cmHstGrmFindEntry);
for(numBin = 0; numBin < CMM_HIST_MAX_MEM_BIN; numBin++)
if(tmpBin->entries[numEnt].key == key)
{
*entry = &(tmpBin->entries[numEnt]);
- RETVALUE(ROK);
+ return ROK;
}/* End of if (tmpBin->entries[numEnt].key) */
}/* end of for (numEnt = 0) */
else
{
printf ("Unable to find the entry in hash list\n");
- RETVALUE(RFAILED);
+ return RFAILED;
}/* End of else (numEnt) */
}/* end of for (numBin = 0) */
printf("Unable to find the entry in the hash list\n");
- RETVALUE(RFAILED);
+ return RFAILED;
} /* end of cmHstGrmFindEntry */
#endif /* SS_HISTOGRAM_SUPPORT */
T2kMeamLeakInfo gMemLeakInfo[T2K_MEM_LEAK_INFO_TABLE_SIZE];
U32 getT2kMemLeakIndex(U32 address)
{
-#if 0
- /*
- 1 2 3 4 5 6 7
-
- XOR 7 with 3 and remove 7
- XOR 1 with 5 and remove 1
- */
-
- address -= T2K_MEM_LEAK_START_ADDR;
-
- U8 Nib7 = address & 0x0000000f;
- U8 Nib1 = (address & 0x0f000000) >>24;
- U8 Nib3 = (address & 0x000f0000) >> 16;
- U8 Nib5 = (address & 0x00000f00) >> 8;
-
- /* store 8 ^ 3 in 8Nib */
- Nib7 = Nib7 ^ Nib3;
- /* store 1 ^ 6 in 6Nib */
- Nib5 = Nib5 ^ Nib1;
-
- return(((address & 0x000fff00) | (Nib7 << 20) | (Nib5 << 4)) >> 4);
-
-#endif
return ((address - T2K_MEM_LEAK_START_ADDR) >> 8);
}
gMemLeakInfo[idx].address, gMemLeakInfo[idx].fileName,
gMemLeakInfo[idx].lineNo, gMemLeakInfo[idx].size,
gMemLeakInfo[idx].age, (t2kMemAllocTick-gMemLeakInfo[idx].age));
-#if 0
- /* Try inserting into some other location */
- int i;
- int lastIndex = idx + 1;
- Bool inserted = FALSE;
- for(i = 2; lastIndex < T2K_MEM_LEAK_INFO_TABLE_SIZE && i < 30; i++)
- {
- if(gMemLeakInfo[lastIndex].address == 0)
- {
- gMemLeakInfo[lastIndex].address = address;
- gMemLeakInfo[lastIndex].size = size;
- gMemLeakInfo[lastIndex].lineNo = lineNo;
- gMemLeakInfo[lastIndex].fileName = fileName;
- gMemLeakInfo[lastIndex].age = (++t2kMemAllocTick) >> 14; /*For every 16384 memory block allocations,Alloc Tick is incremented by 1*/
- inserted = TRUE;
- break;
- }
- lastIndex = idx + (i * i * i);
- }
-#if 1
- if(!inserted)
- {
- printf("Something is wrong, trying to insert %x idx = %d no free i = %d\n",address, idx, i);
- }
-#endif
-#endif
}
}
printf("Previous File:%s, Previous Line:%ld\n",
gMemLeakInfo[idx].prevRemFileName, gMemLeakInfo[idx].prevRemLineNo);
}
-#if 0
- /* Try removing from some other location where it might have been stored*/
- int i;
- int lastIndex = idx + 1;
- Bool removed = FALSE;
- for(i = 2; lastIndex < T2K_MEM_LEAK_INFO_TABLE_SIZE && i < 30; i++)
- {
- if(gMemLeakInfo[lastIndex].address == address)
- {
- gMemLeakInfo[lastIndex].address = 0;
- gMemLeakInfo[lastIndex].size = 0;
- gMemLeakInfo[lastIndex].lineNo = 0;
- gMemLeakInfo[lastIndex].fileName = 0;
- gMemLeakInfo[lastIndex].age = 0; /*For every 16384 memory block allocations,Alloc Tick is incremented by 1*/
- removed = TRUE;
- break;
- }
- lastIndex = idx + (i*i*i);
- }
-#if 1
- if(!removed)
- {
- printf("Something is wrong, trying to remove %x idx = %d lastIndex = %d FreeCalled from File=%s, line=%d\n",address, idx, lastIndex,file,line);
- }
-#endif
-#endif
}
}
-PUBLIC void DumpT2kMemLeakInfoToFile()
+void DumpT2kMemLeakInfoToFile()
{
int i;
/* For Updating SOC Specific Memory Information */
#ifdef ANSI
-PUBLIC S16 UpdateSocMemInfo
+S16 UpdateSocMemInfo
(
U8 areaIndex,
CmLteMemInfo *mInfo
)
#else
-PUBLIC S16 UpdateSocMemInfo(areaIndex,mInfo)
+S16 UpdateSocMemInfo(areaIndex,mInfo)
U8 areaIndex;
CmLteMemInfo *mInfo;
#endif
}
}
- RETVALUE(ROK);
+ return ROK;
}
/*
*
*/
#ifdef ANSI
-PUBLIC U32 isL2MemUsageBelowLowerThreshold(
+U32 isL2MemUsageBelowLowerThreshold(
Region region
)
#else
-PUBLIC U32 isL2MemUsageBelowLowerThreshold(region)
+U32 isL2MemUsageBelowLowerThreshold(region)
Region region;
#endif
{
((poolOneFreeCnt * 100) >
(ICC_MEM_LOWER_THRESHOLD * ICC_POOL_ONE_TOTAL_BLKS)))
{
- RETVALUE(TRUE);
+ return (TRUE);
}
- RETVALUE(FALSE);
+ return (FALSE);
}
*
*/
#ifdef ANSI
-PUBLIC U32 isMemUsageBelowLowerThreshold(
+U32 isMemUsageBelowLowerThreshold(
Region region
)
#else
-PUBLIC U32 isMemUsageBelowLowerThreshold(region)
+U32 isMemUsageBelowLowerThreshold(region)
Region region;
#endif
{
((poolThreeFreeCnt * 100) >
(ICC_MEM_LOWER_THRESHOLD * ICC_POOL_THREE_TOTAL_BLKS)))
{
- RETVALUE(TRUE);
+ return (TRUE);
}
- RETVALUE(FALSE);
+ return (FALSE);
}
/*
((poolThreeFreeCnt * 100) <
(ICC_MEM_UPPER_THRESHOLD * ICC_POOL_THREE_TOTAL_BLKS)))
{
- RETVALUE(TRUE);
+ return (TRUE);
}
- RETVALUE(FALSE);
+ return (FALSE);
}
/* ccpu00142274- Function to check if we have reached the
*
*/
#ifdef ANSI
-PUBLIC U32 isMemThreshReached(
+U32 isMemThreshReached(
Region reg
)
#else
-PUBLIC U32 isMemThreshReached(reg)
+U32 isMemThreshReached(reg)
Region reg;
#endif
{
- TRC3(isMemThreshReached)
if(gMemoryAlarm)
{
gMemoryAlarm = !(isMemUsageBelowLowerThreshold(reg));
- RETVALUE(RFAILED);
+ return RFAILED;
}
else
{
memoryCheckCounter = 0;
}
}
- RETVALUE(ROK);
+ return ROK;
}
#endif
#endif /* SS_LOCKLESS_MEMORY */
-#if 0
-T2kMeamLeakInfo gMemLeakInfo[T2K_MEM_LEAK_INFO_TABLE_SIZE];
-U32 getT2kMemLeakIndex(U32 address)
-{
-#if 0
- /*
- 1 2 3 4 5 6 7
-
- XOR 7 with 3 and remove 7
- XOR 1 with 5 and remove 1
- */
-
- address -= T2K_MEM_LEAK_START_ADDR;
-
- U8 Nib7 = address & 0x0000000f;
- U8 Nib1 = (address & 0x0f000000) >>24;
- U8 Nib3 = (address & 0x000f0000) >> 16;
- U8 Nib5 = (address & 0x00000f00) >> 8;
-
- /* store 8 ^ 3 in 8Nib */
- Nib7 = Nib7 ^ Nib3;
- /* store 1 ^ 6 in 6Nib */
- Nib5 = Nib5 ^ Nib1;
-
- return(((address & 0x000fff00) | (Nib7 << 20) | (Nib5 << 4)) >> 4);
-
-#endif
- return ((address - T2K_MEM_LEAK_START_ADDR) >> 8);
-}
-
-static U32 t2kMemAllocTick;
-static U32 smallTick;
-
-void InsertToT2kMemLeakInfo(U32 address, U32 size, U32 lineNo, char* fileName)
-{
- U32 index = getT2kMemLeakIndex(address);
-
- if(((U32)(address - T2K_MEM_LEAK_START_ADDR) & 0xff) !=0)
- {
- printf("address in InsertToT2kMemLeakInfo is %x size = %d file is %s line is %d \n", address, size, fileName, lineNo);
- }
-
- if(gMemLeakInfo[index].address == 0)
- {
- gMemLeakInfo[index].address = address;
- gMemLeakInfo[index].size = size;
- gMemLeakInfo[index].lineNo = lineNo;
- gMemLeakInfo[index].fileName = fileName;
- gMemLeakInfo[index].age = t2kMemAllocTick;
- gMemLeakInfo[index].prevRemLineNo = 0;
- gMemLeakInfo[index].prevRemFileName = '\0';
-
- if(smallTick++ == 4096)
- {
- smallTick = 0;
- gMemLeakInfo[index].age = (++t2kMemAllocTick);
- }
- }
- else
- {
- printf("Something is wrong, trying to insert %x index = %d file is %s line is %d \n",address, index, fileName, lineNo);
- printf("Address present :%x, from File:%s, Line:%d, Size:%d, Age:%d",
- gMemLeakInfo[index].address, gMemLeakInfo[index].fileName,
- gMemLeakInfo[index].lineNo, gMemLeakInfo[index].size,
- gMemLeakInfo[index].age);
-#if 0
- /* Try inserting into some other location */
- int i;
- int lastIndex = index + 1;
- Bool inserted = FALSE;
- for(i = 2; lastIndex < T2K_MEM_LEAK_INFO_TABLE_SIZE && i < 30; i++)
- {
- if(gMemLeakInfo[lastIndex].address == 0)
- {
- gMemLeakInfo[lastIndex].address = address;
- gMemLeakInfo[lastIndex].size = size;
- gMemLeakInfo[lastIndex].lineNo = lineNo;
- gMemLeakInfo[lastIndex].fileName = fileName;
- gMemLeakInfo[lastIndex].age = (++t2kMemAllocTick) >> 14; /*For every 16384 memory block allocations,Alloc Tick is incremented by 1*/
- inserted = TRUE;
- break;
- }
- lastIndex = index + (i * i * i);
- }
-#if 1
- if(!inserted)
- {
- printf("Something is wrong, trying to insert %x index = %d no free i = %d\n",address, index, i);
- }
-#endif
-#endif
- }
-}
-
-
-void RemoveFromT2kMemLeakInfo(U32 address, char *file, U32 line)
-{
- U32 index = getT2kMemLeakIndex(address);
-
- if(index >= T2K_MEM_LEAK_INFO_TABLE_SIZE)
- {
- printf("Index out of range = %d address is %x file = %s line = %d. We are going to crash!!!\n",
- index,
- address,
- file,
- line);
- }
- if(gMemLeakInfo[index].address == address)
- {
- gMemLeakInfo[index].address = 0;
- gMemLeakInfo[index].age = 0;
- gMemLeakInfo[index].prevRemLineNo = gMemLeakInfo[index].lineNo;
- gMemLeakInfo[index].prevRemFileName = gMemLeakInfo[index].fileName;
-
- /*printf("Something is wrong, Trying to double free Address = %x, Index = %d \n",address,index);*/
- }
- else
- {
- printf("Something is wrong, trying to remove %x index = %d from File=%s, line=%d address present is %x\n",address, index, file,line,
- gMemLeakInfo[index].address);
- if(gMemLeakInfo[index].prevRemFileName != NULLP)
- {
- printf("Previous File:%s, Previous Line:%d\n",
- gMemLeakInfo[index].prevRemFileName, gMemLeakInfo[index].prevRemLineNo);
- }
-#if 0
- /* Try removing from some other location where it might have been stored*/
- int i;
- int lastIndex = index + 1;
- Bool removed = FALSE;
- for(i = 2; lastIndex < T2K_MEM_LEAK_INFO_TABLE_SIZE && i < 30; i++)
- {
- if(gMemLeakInfo[lastIndex].address == address)
- {
- gMemLeakInfo[lastIndex].address = 0;
- gMemLeakInfo[lastIndex].size = 0;
- gMemLeakInfo[lastIndex].lineNo = 0;
- gMemLeakInfo[lastIndex].fileName = 0;
- gMemLeakInfo[lastIndex].age = 0; /*For every 16384 memory block allocations,Alloc Tick is incremented by 1*/
- removed = TRUE;
- break;
- }
- lastIndex = index + (i*i*i);
- }
-#if 1
- if(!removed)
- {
- printf("Something is wrong, trying to remove %x index = %d lastIndex = %d FreeCalled from File=%s, line=%d\n",address, index, lastIndex,file,line);
- }
-#endif
-#endif
- }
-}
-
-void DumpT2kMemLeakInfoToFile()
-{
- int i;
-
- FILE *fp = fopen("memLeakInfo.txt","wb");
-
- if(fp == NULL)
- {
- printf("Could not open file for dumping mem leak info\n");
- return;
- }
-
- for(i = 0; i< T2K_MEM_LEAK_INFO_TABLE_SIZE; i++)
- {
- if(gMemLeakInfo[i].address != 0)
- {
- char* onlyFileName = rindex(gMemLeakInfo[i].fileName,'/');
- if(onlyFileName == NULL)
- {
- onlyFileName = gMemLeakInfo[i].fileName;
- }
-
- fprintf(fp, "%p s=%d a=%d l=%d f=%s\n",gMemLeakInfo[i].address,
- gMemLeakInfo[i].size,
- gMemLeakInfo[i].age,
- gMemLeakInfo[i].lineNo,
- onlyFileName);
- }
- }
-
- fprintf(fp,"Current t2kMemAllocTick = %d\n",t2kMemAllocTick);
-
- fclose(fp);
-}
-#endif
-
/**********************************************************************
End of file
**********************************************************************/