RLC-MAC Interface APIs and Memory configuration Changes
[o-du/l2.git] / src / mt / mt_ss.c
index 9a5a51b..c4cb84c 100644 (file)
@@ -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