Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
1788 Discussions

Question about Icelake IIO Uncore IOTLB & PWC Performance Counters

Leshna
Beginner
3,401 Views

I'm working with the uncore performance counters on an Intel Xeon Scalable processor (Icelake) and have a few questions about the IOTLB events, specifically those in Table 2-184 of the performance monitoring guide:

  1. How can I measure Page Walk Cache (PWC) misses? The manual provides events for PWC_<size>_HITS. Since multiple lookups can hit for a single page walk, simply subtracting hits from lookups doesn't seem reliable for calculating misses. Is there a way to count PWC misses or even total lookups at each specific cache level level ?
  2. What is a "transaction" for the FIRST_LOOKUPS IOTLB event? The definition states it "Counts the first time a request looks up IOTLB." Is a single read/write request from a PCIe device considered one transaction is it just a single PCIe TLP?
  3. What is the function of the 4K-level PWC counter? The spec mentions the PWC caches higher-level page table entries (PML4E, PDPE, PDE). Does the 4K-level PWC act as a cache for the final Page Table Entries (PTEs)? Then would it just not do the work as a extended TLB? Does every IOTLB miss always go through this 4 K‑level cache before walking higher levels?

 

0 Kudos
0 Replies
Reply