Changeset 31834 in vbox
- Timestamp:
- Aug 21, 2010 12:52:39 AM (15 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PGMInternal.h
r31832 r31834 1800 1800 /** Hash function for aiHashTable. */ 1801 1801 #define PGMMAPSET_HASH(HCPhys) (((HCPhys) >> PAGE_SHIFT) & 127) 1802 1803 /** The max fill size (strict builds). */1804 #define PGMMAPSET_MAX_FILL (64U * 80U / 100U)1805 1802 1806 1803 -
trunk/src/VBox/VMM/VMMRZ/PGMRZDynMap.cpp
r31800 r31834 1924 1924 #endif 1925 1925 STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_SUFF(pStats)->aStatRZDynMapSetFilledPct[(cEntries * 10 / RT_ELEMENTS(pSet->aEntries)) % 11]); 1926 AssertMsg(cEntries < PGMMAPSET_MAX_FILL, ("%u\n", cEntries));1927 1926 if (cEntries > RT_ELEMENTS(pSet->aEntries) * 50 / 100) 1928 1927 Log(("PGMRZDynMapReleaseAutoSet: cEntries=%d\n", cEntries)); … … 1959 1958 { 1960 1959 pSet->cEntries = 0; 1961 1962 AssertMsg(cEntries < PGMMAPSET_MAX_FILL, ("%u\n", cEntries));1963 1960 Log(("PGMDynMapFlushAutoSet: cEntries=%d\n", pSet->cEntries)); 1964 1961 … … 2086 2083 LogFlow(("PGMRZDynMapPushAutoSubset: pVCpu=%p iPrevSubset=%u\n", pVCpu, iPrevSubset)); 2087 2084 2085 /* 2086 * If it looks like we're approaching the max set size or mapping space 2087 * optimize the set to drop off unused pages. 2088 */ 2089 if ( pSet->cEntries > RT_ELEMENTS(pSet->aEntries) * 60 / 100 2088 2090 #ifdef IN_RC 2089 /* kludge */ 2090 if (pSet->cEntries > MM_HYPER_DYNAMIC_SIZE / PAGE_SIZE / 2) 2091 || pSet->cEntries > MM_HYPER_DYNAMIC_SIZE / PAGE_SIZE / 2 /** @todo need to do this for r0 as well.*/ 2092 #endif 2093 ) 2091 2094 { 2092 2095 STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZDynMapSetOptimize); 2093 2096 pgmDynMapOptimizeAutoSet(pSet); 2094 2097 } 2095 #endif2096 2098 2097 2099 pSet->iSubset = pSet->cEntries; … … 2125 2127 && cEntries != pSet->iSubset) 2126 2128 { 2127 AssertMsg(cEntries < PGMMAPSET_MAX_FILL, ("%u\n", cEntries));2128 2129 pgmDynMapFlushSubset(pSet); 2129 2130 Assert(pSet->cEntries >= iPrevSubset || iPrevSubset == UINT32_MAX); … … 2380 2381 STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZDynMapSetSearchFlushes); 2381 2382 STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_SUFF(pStats)->aStatRZDynMapSetFilledPct[(pSet->cEntries * 10 / RT_ELEMENTS(pSet->aEntries)) % 11]); 2382 AssertMsg(pSet->cEntries < PGMMAPSET_MAX_FILL, ("%u\n", pSet->cEntries));2383 2383 pgmDynMapFlushSubset(pSet); 2384 2384 }
Note:
See TracChangeset
for help on using the changeset viewer.