- Timestamp:
- Mar 8, 2010 1:18:49 PM (15 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PGM.cpp
r27129 r27163 1617 1617 rc = STAMR3RegisterF(pVM, a, STAMTYPE_PROFILE, STAMVISIBILITY_ALWAYS, STAMUNIT_TICKS_PER_CALL, c, b); \ 1618 1618 AssertRC(rc); 1619 1620 PGM_REG_PROFILE(&pPGM->StatAllocLargePage, "/PGM/LargePage/Prof/Alloc", "Time spent by the host OS for large page allocation."); 1621 PGM_REG_PROFILE(&pPGM->StatClearLargePage, "/PGM/LargePage/Prof/Clear", "Time spent clearing the newly allocated large pages."); 1622 PGM_REG_PROFILE(&pPGM->StatR3IsValidLargePage, "/PGM/LargePage/Prof/R3/IsValid", "pgmPhysIsValidLargePage profiling - R3."); 1623 PGM_REG_PROFILE(&pPGM->StatRZIsValidLargePage, "/PGM/LargePage/Prof/RZ/IsValid", "pgmPhysIsValidLargePage profiling - RZ."); 1619 1624 1620 1625 PGM_REG_COUNTER(&pPGM->StatR3DetectedConflicts, "/PGM/R3/DetectedConflicts", "The number of times PGMR3CheckMappingConflicts() detected a conflict."); -
trunk/src/VBox/VMM/PGMInternal.h
r27065 r27163 2860 2860 STAMCOUNTER StatTrackOverflows; /**< The number of times the extent list grows to long. */ 2861 2861 STAMPROFILE StatTrackDeref; /**< Profiling of SyncPageWorkerTrackDeref (expensive). */ 2862 2863 /** Time spent by the host OS for large page allocation. */ 2864 STAMPROFILE StatAllocLargePage; 2865 /** Time spent clearing the newly allocated large pages. */ 2866 STAMPROFILE StatClearLargePage; 2867 /** pgmPhysIsValidLargePage profiling - R3 */ 2868 STAMPROFILE StatR3IsValidLargePage; 2869 /** pgmPhysIsValidLargePage profiling - RZ*/ 2870 STAMPROFILE StatRZIsValidLargePage; 2862 2871 #endif 2863 2872 } PGM; -
trunk/src/VBox/VMM/PGMPhys.cpp
r27129 r27163 3248 3248 pgmLock(pVM); 3249 3249 3250 STAM_PROFILE_START(&pVM->pgm.s.StatAllocLargePage, a); 3250 3251 int rc = VMMR3CallR0(pVM, VMMR0_DO_PGM_ALLOCATE_LARGE_HANDY_PAGE, 0, NULL); 3252 STAM_PROFILE_STOP(&pVM->pgm.s.StatAllocLargePage, a); 3251 3253 if (RT_SUCCESS(rc)) 3252 3254 { … … 3273 3275 * Clear the pages. 3274 3276 */ 3277 STAM_PROFILE_START(&pVM->pgm.s.StatClearLargePage, a); 3275 3278 for (unsigned i = 0; i < _2M/PAGE_SIZE; i++) 3276 3279 { … … 3304 3307 Log3(("PGMR3PhysAllocateLargePage: idPage=%#x HCPhys=%RGp\n", idPage, HCPhys)); 3305 3308 } 3309 STAM_PROFILE_STOP(&pVM->pgm.s.StatClearLargePage, a); 3310 3306 3311 /* Flush all TLBs. */ 3307 3312 PGM_INVL_ALL_VCPU_TLBS(pVM); -
trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp
r27129 r27163 581 581 } 582 582 583 STAM_PROFILE_START(&pVM->pgm.s.CTX_MID_Z(Stat,IsValidLargePage), a); 583 584 /* Check all remaining pages in the 2 MB range. */ 584 585 GCPhys += PAGE_SIZE; … … 600 601 GCPhys += PAGE_SIZE; 601 602 } 603 STAM_PROFILE_STOP(&pVM->pgm.s.CTX_MID_Z(Stat,IsValidLargePage), a); 604 602 605 if (i == _2M/PAGE_SIZE) 603 606 {
Note:
See TracChangeset
for help on using the changeset viewer.