Lines Matching defs:Ppt

38  * (RT_ELEMENTS((PGVMMHOSTCPU)0, Ppt.aHzHistory) *
181 } Ppt;
392 pGVMM->aHostCpus[iCpu].Ppt.pTimer = NULL;
393 pGVMM->aHostCpus[iCpu].Ppt.hSpinlock = NIL_RTSPINLOCK;
394 pGVMM->aHostCpus[iCpu].Ppt.uMinHz = 5; /** @todo Add some API which figures this one out. (not *that* important) */
395 pGVMM->aHostCpus[iCpu].Ppt.cTicksHistoriziationInterval = 1;
396 //pGVMM->aHostCpus[iCpu].Ppt.iTickHistorization = 0;
397 //pGVMM->aHostCpus[iCpu].Ppt.cNsInterval = 0;
398 //pGVMM->aHostCpus[iCpu].Ppt.uTimerHz = 0;
399 //pGVMM->aHostCpus[iCpu].Ppt.uDesiredHz = 0;
400 //pGVMM->aHostCpus[iCpu].Ppt.fStarted = false;
401 //pGVMM->aHostCpus[iCpu].Ppt.fStarting = false;
402 //pGVMM->aHostCpus[iCpu].Ppt.iHzHistory = 0;
403 //pGVMM->aHostCpus[iCpu].Ppt.aHzHistory = {0};
412 rc = RTTimerCreateEx(&pGVMM->aHostCpus[iCpu].Ppt.pTimer,
418 rc = RTSpinlockCreate(&pGVMM->aHostCpus[iCpu].Ppt.hSpinlock, RTSPINLOCK_FLAGS_INTERRUPT_SAFE, "GVMM/CPU");
423 RTTimerDestroy(pGVMM->aHostCpus[iCpu].Ppt.pTimer);
424 RTSpinlockDestroy(pGVMM->aHostCpus[iCpu].Ppt.hSpinlock);
425 pGVMM->aHostCpus[iCpu].Ppt.hSpinlock = NIL_RTSPINLOCK;
486 if ( pGVMM->aHostCpus[iCpu].Ppt.pTimer != NULL
487 && RT_SUCCESS(RTTimerStop(pGVMM->aHostCpus[iCpu].Ppt.pTimer)))
514 RTTimerDestroy(pGVMM->aHostCpus[iCpu].Ppt.pTimer);
515 pGVMM->aHostCpus[iCpu].Ppt.pTimer = NULL;
516 RTSpinlockDestroy(pGVMM->aHostCpus[iCpu].Ppt.hSpinlock);
517 pGVMM->aHostCpus[iCpu].Ppt.hSpinlock = NIL_RTSPINLOCK;
2189 RTSpinlockAcquire(pCpu->Ppt.hSpinlock);
2191 if (++pCpu->Ppt.iTickHistorization >= pCpu->Ppt.cTicksHistoriziationInterval)
2196 uint32_t iHzHistory = ++pCpu->Ppt.iHzHistory % RT_ELEMENTS(pCpu->Ppt.aHzHistory);
2197 pCpu->Ppt.aHzHistory[iHzHistory] = pCpu->Ppt.uDesiredHz;
2198 pCpu->Ppt.iTickHistorization = 0;
2199 pCpu->Ppt.uDesiredHz = 0;
2205 for (uint32_t i = 0; i < RT_ELEMENTS(pCpu->Ppt.aHzHistory); i++)
2206 if (pCpu->Ppt.aHzHistory[i] > uHistMaxHz)
2207 uHistMaxHz = pCpu->Ppt.aHzHistory[i];
2208 if (uHistMaxHz == pCpu->Ppt.uTimerHz)
2209 RTSpinlockRelease(pCpu->Ppt.hSpinlock);
2215 pCpu->Ppt.cChanges++;
2216 pCpu->Ppt.iTickHistorization = 0;
2217 pCpu->Ppt.uTimerHz = uHistMaxHz;
2219 pCpu->Ppt.cNsInterval = cNsInterval;
2221 pCpu->Ppt.cTicksHistoriziationInterval = ( GVMMHOSTCPU_PPT_HIST_INTERVAL_NS
2225 pCpu->Ppt.cTicksHistoriziationInterval = 1;
2226 RTSpinlockRelease(pCpu->Ppt.hSpinlock);
2236 pCpu->Ppt.fStarted = false;
2237 pCpu->Ppt.uTimerHz = 0;
2238 pCpu->Ppt.cNsInterval = 0;
2239 RTSpinlockRelease(pCpu->Ppt.hSpinlock);
2246 RTSpinlockRelease(pCpu->Ppt.hSpinlock);
2289 if (RT_UNLIKELY( uHz > ASMAtomicReadU32(&pCpu->Ppt.uDesiredHz)
2290 && uHz >= pCpu->Ppt.uMinHz
2291 && !pCpu->Ppt.fStarting /* solaris paranoia */))
2293 RTSpinlockAcquire(pCpu->Ppt.hSpinlock);
2295 pCpu->Ppt.uDesiredHz = uHz;
2297 if (!pCpu->Ppt.fStarted)
2299 pCpu->Ppt.cStarts++;
2300 pCpu->Ppt.fStarted = true;
2301 pCpu->Ppt.fStarting = true;
2302 pCpu->Ppt.iTickHistorization = 0;
2303 pCpu->Ppt.uTimerHz = uHz;
2304 pCpu->Ppt.cNsInterval = cNsInterval = RT_NS_1SEC / uHz;
2306 pCpu->Ppt.cTicksHistoriziationInterval = ( GVMMHOSTCPU_PPT_HIST_INTERVAL_NS
2310 pCpu->Ppt.cTicksHistoriziationInterval = 1;
2313 RTSpinlockRelease(pCpu->Ppt.hSpinlock);
2317 RTTimerChangeInterval(pCpu->Ppt.pTimer, cNsInterval);
2318 int rc = RTTimerStart(pCpu->Ppt.pTimer, cNsInterval);
2321 RTSpinlockAcquire(pCpu->Ppt.hSpinlock);
2323 pCpu->Ppt.fStarted = false;
2324 pCpu->Ppt.fStarting = false;
2325 RTSpinlockRelease(pCpu->Ppt.hSpinlock);
2427 pStats->aHostCpus[iDstCpu].uDesiredHz = pGVMM->aHostCpus[iSrcCpu].Ppt.uDesiredHz;
2428 pStats->aHostCpus[iDstCpu].uTimerHz = pGVMM->aHostCpus[iSrcCpu].Ppt.uTimerHz;
2429 pStats->aHostCpus[iDstCpu].cChanges = pGVMM->aHostCpus[iSrcCpu].Ppt.cChanges;
2430 pStats->aHostCpus[iDstCpu].cStarts = pGVMM->aHostCpus[iSrcCpu].Ppt.cStarts;