Lines Matching refs:u64NanoTS
343 uint64_t u64NanoTS;
344 TMTimerPollGIP(pVM, pVCpu, &u64NanoTS);
353 if (u64NanoTS < 50000)
355 //RTLogPrintf("u64NanoTS=%RI64 cLoops=%d spin\n", u64NanoTS, cLoops++);
362 if (u64NanoTS < 870000) /* this is a bit speculative... works fine on linux. */
364 //RTLogPrintf("u64NanoTS=%RI64 cLoops=%d yield", u64NanoTS, cLoops++);
370 else if (u64NanoTS < 2000000)
372 //RTLogPrintf("u64NanoTS=%RI64 cLoops=%d sleep 1ms", u64NanoTS, cLoops++);
380 //RTLogPrintf("u64NanoTS=%RI64 cLoops=%d sleep %dms", u64NanoTS, cLoops++, (uint32_t)RT_MIN((u64NanoTS - 500000) / 1000000, 15));
382 rc = RTSemEventWait(pUVCpu->vm.s.EventSemWait, RT_MIN((u64NanoTS - 1000000) / 1000000, 15));
387 //RTLogPrintf(" -> rc=%Rrc in %RU64 ns / %RI64 ns delta\n", rc, u64Slept, u64NanoTS - u64Slept);
546 uint64_t u64NanoTS;
547 TMTimerPollGIP(pVM, pVCpu, &u64NanoTS);
558 && u64NanoTS >= 100000) /* 0.100 ms */
560 && u64NanoTS >= 250000) /* 0.250 ms */
566 uint32_t cMilliSecs = RT_MIN(u64NanoTS / 1000000, 15);
572 //RTLogRelPrintf("u64NanoTS=%RI64 cLoops=%3d sleep %02dms (%7RU64) ", u64NanoTS, cLoops, cMilliSecs, u64NanoTS);
592 if (Elapsed > u64NanoTS)
593 pUVCpu->vm.s.Halt.Method12.cNSBlockedTooLong += Elapsed - u64NanoTS;
604 //RTLogRelPrintf(" -> %7RU64 ns / %7RI64 ns delta%s\n", Elapsed, Elapsed - u64NanoTS, fBlockOnce ? " (block once)" : "");