#include "sys/syscall.h"
#endif
-#ifdef RGL_SPECIFIC_CHANGES
+#if defined(RGL_SPECIFIC_CHANGES) || defined(INTEL_WLS)
#include <wls_lib.h>
#include <hugetlbfs.h>
#endif
+#ifdef INTEL_WLS
+EXTERN void LwrMacRecvPhyMsg();
+#endif
+
#if defined(SPLIT_RLC_DL_TASK) && defined(RLC_MAC_STA_RSP_RBUF)
EXTERN S16 rgBatchProc (Void);
#endif
{ SS_POOL_DYNAMIC, MT_POOL_3_DSIZE },
{ SS_POOL_STATIC, 0 }
}
+ },
+ {
+ SS_DFLT_REGION + 4, SS_MAX_POOLS_PER_REG - 1,
+ {
+ { SS_POOL_DYNAMIC, MT_POOL_0_DSIZE },
+ { SS_POOL_DYNAMIC, MT_POOL_1_DSIZE },
+ { SS_POOL_DYNAMIC, MT_POOL_2_DSIZE },
+ { SS_POOL_DYNAMIC, MT_POOL_3_DSIZE },
+ { SS_POOL_STATIC, 0 }
+ }
}
#endif /* SS_LOCKLESS_MEMORY */
};
{SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD},
{SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD}
}
+ },
+ {
+ SS_DFLT_REGION + 4, /* region id */
+ MT_MAX_BKTS, /* number of buckets */
+ {
+ /* block size, no. of blocks, Upper threshold, lower threshold */
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD},
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD},
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD},
+ {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD}
+ }
}
#if ((defined (SPLIT_RLC_DL_TASK)) && (!defined (L2_L3_SPLIT)))
,
{MT_BKT_2_DSIZE, MT_BKT_2_STATIC_NUMBLKS}, /* block size, no. of blocks */
{MT_BKT_3_DSIZE, MT_BKT_3_STATIC_NUMBLKS} /* block size, no. of blocks */
#else
-#if 0
- {256, 500000},
- {512, 11000},
- {2048, 100000},
- {8192, 75128},
- {16384, 4096}
-#else /* Page boundary alignment */
{256, 491520}, /* 60 pages of 2M*/
{512, 12288}, /* 3 pages of 2M */
{2048, 99328}, /* 97 Pages of 2M */
{8192, 75008}, /* 293 Pages of 2M */
{16384, 4096} /* 32 pages of 2M */
-#endif
#endif
}
},
{MT_BKT_2_DSIZE, MT_BKT_2_STATIC_NUMBLKS}, /* block size, no. of blocks */
{MT_BKT_3_DSIZE, MT_BKT_3_STATIC_NUMBLKS} /* block size, no. of blocks */
}
+ },
+ {
+ SS_DFLT_REGION + 4, /* region id */
+ MT_MAX_BKTS, /* number of buckets */
+ MT_HEAP_SIZE, /* heap size */
+ {
+ {MT_BKT_0_DSIZE, MT_BKT_0_STATIC_NUMBLKS}, /* block size, no. of blocks */
+ {MT_BKT_1_DSIZE, MT_BKT_1_STATIC_NUMBLKS}, /* block size, no. of blocks */
+ {MT_BKT_2_DSIZE, MT_BKT_2_STATIC_NUMBLKS}, /* block size, no. of blocks */
+ {MT_BKT_3_DSIZE, MT_BKT_3_STATIC_NUMBLKS} /* block size, no. of blocks */
+ }
}
+
#endif /* SS_LOCKLESS_MEMORY */
STATIC_MEM_CFG
}
hdl = WLS_Open(WLS_DEVICE_NAME, 1);
#endif
#else
- hdl = WLS_Open(WLS_DEVICE_NAME, 0);
+ hdl = WLS_Open(WLS_DEVICE_NAME, WLS_MASTER_CLIENT, (512 *1024 * 1024));
#endif
osCp.wls.intf = hdl;
{
CmMmGlobRegCb *globReg;
CmMmGlobalBktCb *bktCb;
- U8 blkCnt;
U8 bktIdx= reg;
TRC3(isMemThreshReached)
for (i = 0; i < 1; i++)
{
mtRegMemSz[i].startAddr = regMemStrtAddr;
- CM_LOG_DEBUG(CM_LOG_ID_MT, "Global Region-->Bkt[%d] Addr:%p\n", i, mtRegMemSz[i].startAddr);
+ //CM_LOG_DEBUG(CM_LOG_ID_MT, "Global Region-->Bkt[%d] Addr:%p\n", i, mtRegMemSz[i].startAddr);
numHugePg = DIV_ROUND_OFFSET(mtRegMemSz[i].reqdSz, hugePageSize);
reqdSz = numHugePg * hugePageSize;
#endif
while (1)
{
+#ifndef ODU_TEST_STUB
+#ifdef INTEL_WLS
+ LwrMacRecvPhyMsg();
+#endif
+#endif
/* Wait for a message from the demand queue */
#ifdef SS_CDMNDQ_SUPPORT
ret = ssCDmndQWait(&sTsk->dQ);
PUBLIC Void ssRegMainThread(Void)
{
-#if 0
-#else
if(SS_INVALID_THREAD_REG_MAP != SS_GET_THREAD_MEM_REGION())
-#endif
{
printf("not able to get different Id for main thread\n");
exit(1);
* Main thread. The thread should not perform any allocation except
* the initial configuratin
*/
-#if 0
-#else
#ifdef XEON_SPECIFIC_CHANGES
SS_GET_THREAD_MEM_REGION() = mtMemoCfg.numRegions;
#else
SS_GET_THREAD_MEM_REGION() =
#endif
-#endif
DFLT_REGION;
}
/* Here 0xFF is considered as invalid region and if the mapping table
* contains 0xFF, that mapping entry is free
*/
-#if 0
-#else
if(SS_INVALID_THREAD_REG_MAP !=
osCp.threadMemoryRegionMap[((threadId >> SS_MEM_THREAD_ID_SHIFT) % SS_MAX_THREAD_REGION_MAP)])
-#endif
{
/* Klock work fix ccpu00148484 */
if(!(createdThreads < SS_MAX_THREAD_CREATE_RETRY))
/* If we found free mapping table entry, place the region and send pthread_cancel
* for all the thread Ids which are created before this
*/
-#if 0
-#else
osCp.threadMemoryRegionMap[((threadId >> SS_MEM_THREAD_ID_SHIFT) % SS_MAX_THREAD_REGION_MAP)] = region;
#ifdef XEON_SPECIFIC_CHANGES
printf("ThreadId %ld, Thread Idx %d, Region %d\n", threadId,
((threadId >> SS_MEM_THREAD_ID_SHIFT) %
SS_MAX_THREAD_REGION_MAP), region);
#endif
-#endif
for(indx = 0; indx < createdThreads; indx++)
{
#ifdef XEON_SPECIFIC_CHANGES