Changeset 43466 in vbox
- Timestamp:
- Sep 28, 2012 2:47:29 PM (12 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/HMAll.cpp
r43387 r43466 305 305 306 306 if (idThisCpu == idCpu) 307 { 308 /** @todo r=ramshankar: Intel does not support flushing by guest physical 309 * address either. See comment in VMXR0InvalidatePhysPage(). Fix this. */ 307 310 VMXR0InvalidatePhysPage(pVM, pVCpu, GCPhys); 311 } 308 312 else 309 313 { -
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r43455 r43466 2513 2513 pVCpu->hm.s.uCurrentASID = pCpu->uCurrentASID; 2514 2514 if (pCpu->fFlushASIDBeforeUse) 2515 {2516 2515 hmR0VmxFlushVPID(pVM, pVCpu, pVM->hm.s.vmx.enmFlushVPID, 0 /* GCPtr */); 2517 #ifdef VBOX_WITH_STATISTICS2518 STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushASID);2519 #endif2520 }2521 2516 } 2522 2517 else … … 2526 2521 else 2527 2522 hmR0VmxFlushEPT(pVM, pVCpu, pVM->hm.s.vmx.enmFlushEPT); 2528 2529 #ifdef VBOX_WITH_STATISTICS2530 /*2531 * This is not terribly accurate (i.e. we don't have any StatFlushEPT counter). We currently count these2532 * as ASID flushes too, better than including them under StatFlushTLBWorldSwitch.2533 */2534 STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushASID);2535 #endif2536 2523 } 2537 2524 … … 2698 2685 pCpu->fFlushASIDBeforeUse = true; 2699 2686 } 2700 else2701 STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushASID);2702 2687 2703 2688 pVCpu->hm.s.fForceTLBFlush = false; … … 5011 4996 int rc = VMXR0InvEPT(enmFlush, &descriptor[0]); 5012 4997 AssertMsg(rc == VINF_SUCCESS, ("VMXR0InvEPT %x %RGv failed with %d\n", enmFlush, pVCpu->hm.s.vmx.GCPhysEPTP, rc)); 4998 #ifdef VBOX_WITH_STATISTICS 4999 STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushNP); 5000 #endif 5013 5001 } 5014 5002 … … 5046 5034 AssertMsg(rc == VINF_SUCCESS, 5047 5035 ("VMXR0InvVPID %x %x %RGv failed with %d\n", enmFlush, pVCpu ? pVCpu->hm.s.uCurrentASID : 0, GCPtr, rc)); 5036 #ifdef VBOX_WITH_STATISTICS 5037 if (pVCpu) 5038 STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushASID); 5039 #endif 5048 5040 } 5049 5041 -
trunk/src/VBox/VMM/VMMR3/HM.cpp
r43455 r43466 557 557 HM_REG_COUNTER(&pVCpu->hm.s.StatNoFlushTLBWorldSwitch, "/HM/CPU%d/Flush/TLB/Skipped"); 558 558 HM_REG_COUNTER(&pVCpu->hm.s.StatFlushASID, "/HM/CPU%d/Flush/TLB/ASID"); 559 HM_REG_COUNTER(&pVCpu->hm.s.StatFlushNP, "/HM/CPU%d/Flush/TLB/NP"); 559 560 HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTLBInvlpga, "/HM/CPU%d/Flush/TLB/PhysInvl"); 560 561 HM_REG_COUNTER(&pVCpu->hm.s.StatTlbShootdown, "/HM/CPU%d/Flush/Shootdown/Page"); -
trunk/src/VBox/VMM/include/HMInternal.h
r43455 r43466 828 828 STAMCOUNTER StatFlushTLBCRxChange; 829 829 STAMCOUNTER StatFlushASID; 830 STAMCOUNTER StatFlushNP; 830 831 STAMCOUNTER StatFlushTLBInvlpga; 831 832 STAMCOUNTER StatTlbShootdown;
Note:
See TracChangeset
for help on using the changeset viewer.