Changeset 87671 in vbox for trunk/src/VBox/Devices/Bus
- Timestamp:
- Feb 10, 2021 5:34:28 AM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 142713
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Bus/DevIommuAmd.cpp
r87667 r87671 452 452 STAMCOUNTER StatIotlbeCacheMiss; /**< Number of IOTLB cache misses. */ 453 453 STAMCOUNTER StatIotlbeLazyEvictReuse; /**< Number of IOTLB entries re-used after lazy eviction. */ 454 STAMPROFILEADV StatIotlbeLookup; /**< Profiling of IOTLB entry lookup (cached). */ 454 455 455 456 STAMCOUNTER StatDteLookupNonContig; /**< Number of DTE lookups that result in non-contiguous regions. */ 456 STAMPROFILEADV Stat DteLookup; /**< Profiling of device table entry lookup(uncached). */457 STAMPROFILEADV StatIoPageWalkLookup; /**< Profiling of I/O page walk (uncached). */ 457 458 /** @} */ 458 459 #endif … … 3392 3393 RTGCPHYS GCPhysSpa = NIL_RTGCPHYS; 3393 3394 size_t cbContiguous = 0; 3394 3395 STAM_PROFILE_ADV_START(&pThis->StatDteLookup, a);3396 3395 3397 3396 /* Read the device table entry from memory. */ … … 3425 3424 IOWALKRESULT WalkResult; 3426 3425 RT_ZERO(WalkResult); 3426 STAM_PROFILE_ADV_START(&pThis->StatIoPageWalkLookup, a); 3427 3427 rc = iommuAmdIoPageTableWalk(pDevIns, uDevId, uIovaPage, fPerm, &Dte, enmOp, &WalkResult); 3428 STAM_PROFILE_ADV_STOP(&pThis->StatIoPageWalkLookup, a); 3428 3429 if (RT_SUCCESS(rc)) 3429 3430 { … … 3552 3553 AssertMsg(rc != VINF_SUCCESS || cbContiguous > 0, ("cbContiguous=%zu\n", cbContiguous)); 3553 3554 3554 STAM_PROFILE_ADV_STOP(&pThis->StatDteLookup, a);3555 3555 return rc; 3556 3556 } … … 3603 3603 for (;;) 3604 3604 { 3605 STAM_PROFILE_ADV_START(&pThis->StatIotlbeLookup, b); 3605 3606 PCIOTLBE pIotlbe = iommuAmdIotlbLookup(pThis, pDevice->uDomainId, uIovaPage); 3607 STAM_PROFILE_ADV_STOP(&pThis->StatIotlbeLookup, b); 3606 3608 if (pIotlbe) 3607 3609 { … … 5458 5460 PCPDMPCIDEV pPciDev = pDevIns->apPciDevs[0]; 5459 5461 PDMPCIDEV_ASSERT_VALID(pDevIns, pPciDev); 5462 NOREF(pPciDev); 5460 5463 5461 5464 uint8_t cSegments = 0; … … 5892 5895 PDMDevHlpSTAMRegister(pDevIns, &pThis->StatIotlbeCacheMiss, STAMTYPE_COUNTER, "IOTLB/CacheMiss", STAMUNIT_OCCURENCES, "Number of IOTLB cache misses."); 5893 5896 PDMDevHlpSTAMRegister(pDevIns, &pThis->StatIotlbeLazyEvictReuse, STAMTYPE_COUNTER, "IOTLB/LazyEvictReuse", STAMUNIT_OCCURENCES, "Number of IOTLB entries reused after lazy eviction."); 5897 PDMDevHlpSTAMRegister(pDevIns, &pThis->StatIotlbeLookup, STAMTYPE_PROFILE, "IOTLB/Lookup", STAMUNIT_TICKS_PER_CALL, "Profiling IOTLB entry lookup."); 5894 5898 5895 5899 PDMDevHlpSTAMRegister(pDevIns, &pThis->StatDteLookupNonContig, STAMTYPE_COUNTER, "DTE/LookupNonContig", STAMUNIT_OCCURENCES, "DTE lookups that resulted in non-contiguous translated regions."); 5896 PDMDevHlpSTAMRegister(pDevIns, &pThis->Stat DteLookup, STAMTYPE_PROFILE, "DTE/Lookup", STAMUNIT_TICKS_PER_CALL, "Profiling device table entry lookup (uncached).");5900 PDMDevHlpSTAMRegister(pDevIns, &pThis->StatIoPageWalkLookup, STAMTYPE_PROFILE, "DTE/Lookup", STAMUNIT_TICKS_PER_CALL, "Profiling I/O page walk lookup."); 5897 5901 # endif 5898 5902
Note:
See TracChangeset
for help on using the changeset viewer.