@@ -1141,18 +1141,18 @@ template <typename Config> class SizeClassAllocator64 {
1141
1141
BytesInFreeList - Region->ReleaseInfo .BytesInFreeListAtLastCheckpoint ;
1142
1142
}
1143
1143
const uptr TotalChunks = Region->MemMapInfo .AllocatedUser / BlockSize;
1144
- Str->append (
1145
- " %s %02zu (%6zu): mapped : %6zuK popped : %7zu pushed : %7zu "
1146
- " inuse : %6zu total : %6zu releases: %6zu last "
1147
- " releases attempted: %6zuK latest pushed bytes: %6zuK region: 0x%zx "
1148
- " (0x%zx) \n " ,
1149
- Region-> Exhausted ? " E " : " " , ClassId, getSizeByClassId (ClassId),
1150
- Region-> MemMapInfo . MappedUser >> 10 , Region->FreeListInfo .PoppedBlocks ,
1151
- Region->FreeListInfo .PushedBlocks , InUseBlocks, TotalChunks,
1152
- Region->ReleaseInfo .NumReleasesAttempted ,
1153
- Region->ReleaseInfo .LastReleasedBytes >> 10 ,
1154
- RegionPushedBytesDelta >> 10 , Region->RegionBeg ,
1155
- getRegionBaseByClassId (ClassId));
1144
+ Str->append (" %s %02zu (%6zu): mapped: %6zuK popped: %7zu pushed: %7zu "
1145
+ " inuse : %6zu total : %6zu releases attempted : %6zu last "
1146
+ " released : %6zuK latest pushed bytes : %6zuK region: 0x%zx "
1147
+ " ( 0x%zx) \n " ,
1148
+ Region-> Exhausted ? " E " : " " , ClassId ,
1149
+ getSizeByClassId (ClassId), Region-> MemMapInfo . MappedUser >> 10 ,
1150
+ Region->FreeListInfo .PoppedBlocks ,
1151
+ Region->FreeListInfo .PushedBlocks , InUseBlocks, TotalChunks,
1152
+ Region->ReleaseInfo .NumReleasesAttempted ,
1153
+ Region->ReleaseInfo .LastReleasedBytes >> 10 ,
1154
+ RegionPushedBytesDelta >> 10 , Region->RegionBeg ,
1155
+ getRegionBaseByClassId (ClassId));
1156
1156
}
1157
1157
1158
1158
void getRegionFragmentationInfo (RegionInfo *Region, uptr ClassId,
@@ -1297,6 +1297,10 @@ template <typename Config> class SizeClassAllocator64 {
1297
1297
return 0 ;
1298
1298
}
1299
1299
1300
+ // The following steps contribute to the majority time spent in page
1301
+ // releasing thus we increment the counter here.
1302
+ ++Region->ReleaseInfo .NumReleasesAttempted ;
1303
+
1300
1304
// Note that we have extracted the `GroupsToRelease` from region freelist.
1301
1305
// It's safe to let pushBlocks()/popBlocks() access the remaining region
1302
1306
// freelist. In the steps 3 and 4, we will temporarily release the FLLock
0 commit comments