X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fmt%2Fmt_ss.c;h=c4cb84cdf3ea9d47de6b395b135bc67b0a7f3486;hb=176a9131121aa261c0205c524c8158b3db724b12;hp=9a5a51b22b0fba2a64b1c584a25a0333c7b746db;hpb=829bbd114f1c3dc00c1da47bca0a8207c049df3f;p=o-du%2Fl2.git diff --git a/src/mt/mt_ss.c b/src/mt/mt_ss.c index 9a5a51b22..c4cb84cdf 100644 --- a/src/mt/mt_ss.c +++ b/src/mt/mt_ss.c @@ -486,6 +486,16 @@ PUBLIC SsRegCfg cfgRegInfo[SS_MAX_REGS] = { 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 */ }; @@ -541,6 +551,17 @@ PUBLIC MtDynMemCfg mtDynMemoCfg = {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))) , @@ -605,19 +626,11 @@ PUBLIC MtMemCfg mtMemoCfg = {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 } }, @@ -674,7 +687,19 @@ PUBLIC MtMemCfg mtMemoCfg = {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 } @@ -8611,10 +8636,7 @@ PUBLIC S16 SInitLock(SLockId *l, U8 t) 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); @@ -8623,14 +8645,11 @@ PUBLIC Void ssRegMainThread(Void) * 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; } @@ -8673,11 +8692,8 @@ Region region /* Region associated with thread */ /* 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)) @@ -8692,15 +8708,12 @@ Region region /* Region associated with thread */ /* 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