I need to learn how performance counter works for my research project. I have understood how hardware supports the monitoring of events.Intel manual gives description on how the performance monitoring units on the chip helps to get the counters. I also have learned how the MSR module gets the information of the msr registers for various events.
I need to learn the following things.
1) How performance monitoring tools are used for multiple processes simultaneously. I think all the registers will be saved during context switch and are loaded when the process start again.Browsing Internet I got something like "pfm_context_load" and "pfm_context_unload" but it didn't had much info......-> " I need more detailed information on how it works,so please provide some links,documentation which can help me achieve my understanding"
2) Also how performance counters work in virtual environment? And what are the problems measuring the counters in such environment? I have browsed through few papers and have some info, But need more detail information.
So if anyone can guide me with some documentation on these topics or at least guide me on where should I search for all these info with be a great help! ...
If this is not the right forum then please direct me towards right place..