Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
5056 Discussions

Reading PMC's from user space - Windows

I have some open questions about support for application-directed polling of PMC registers on Core 2 processors. Based on what I've found on the web so far, it seems likely that a kernel-side component is required to get them configured and running. So, assuming you have a Vista system and a Core 2, what path can a userspace application take to get the registers configured and counting as desired?

- is there a driver available that can be tickled from userspace for this purpose? As part of VTune package or as a separate item ?

- also, does anyone know if there is any support in Vista for context switching the PMC's so that independent threads get independent/coherent sets of counter values?
0 Kudos
1 Reply

You can control PMC data collection through Model-specific registers (MSRs). See Appendix A of the Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 3B) for details. VTune uses its own driver for programming MSRs. On Linux there is VTune driver kit that goes along with package with sources. I don't know any driver kit available on Windows.

WRT context switches, regardless to OS type the PMC data is being collected along with thread ID, so you get thread specific counter data.

0 Kudos