devnull431
Contributor
Contributor

Are hardware performance counters supported?

Jump to solution

It seems similar questions have gone unanswered in the past, but I thought I'd try again anyway. Does VMWare Workstation support hardware performance counters? In other words, would I be able to write code that triggers an interrupt on a performance counter overflow and have it run correctly in the guest OS? If VMware Workstation doesn't support this, is there another VMware product that does?

I've stumbled across a few dated postings around the net that seem to indicate that this functionality is not available (see and below). However, because these are so old, it's quite possible newer versions have since added support.

Thanks,

devnull431

http://oprofile.sourceforge.net/faq/, near the bottom, under "VMware"

http://software.intel.com/en-us/forums/intel-vtune-performance-analyzer/topic/44195/

0 Kudos
1 Solution

Accepted Solutions
admin
Immortal
Immortal

No, the performance monitor counters are not virtualized in any VMware product.

View solution in original post

0 Kudos
3 Replies
admin
Immortal
Immortal

No, the performance monitor counters are not virtualized in any VMware product.

0 Kudos
devnull431
Contributor
Contributor

Thanks, jmattson. I was afraid that was the case. Do you know if there is official documentation on the VMware page that details what is or is not virtualized?

Thanks,

devnull431

0 Kudos
admin
Immortal
Immortal

I am unaware of any such documentation.

In addition to the PMCs, many MSRs are not virtualized. (Unsupported MSRs read as zero and sink all writes.) BTS and PEBS are also not virtualized.

Where there are CPUID feature bits available to indicate the presence or absence of a feature, the bits for a non-virtualized feature are masked out under binary translation and under hardware virtualization. Direct execution of CPL3 code does not provide the ability to perform such masking. Features that are masked out include most power management features, MONITOR/MWAIT, x2APIC, hyper-threading, 1GB superpages, VT-x and AMD-V.