Alex Shye wrote:
Hi all,

I am working on a project in which low-overhead memory reference sampling is necessary. If possible, I would like to be able to use hardware performance monitor support for this. I was hoping to get some feedback/thoughts on a couple issues:

1) On Itanium systems, memory reference sampling is trivial with the D-EAR functionality. However, the systems I am working on are either AMD Opterons or Intel Core 2s, and it is unclear if this information can be gathered. The first thought is to use precise event-based sampling to gather architectural state and trying to recreate the effective address. However, PEBS is limited to a few specific counters. Also, the correct architectural state may not be enough to calculate the effective address without the correct memory state. Any thoughts?

2) Supposing HPM+PEBS is enough, does anyone have suggestions on tools? I understand that perfmon supports PEBS but have had a harder time finding out if Oprofile or other tools do.

3) Any other ideas? I was considering moving to a low-overhead instrumentation approach if this doesn't work out...

Thanks in advance for your help!

--alexshye

A graduate student at NCSU, Jesse Beu, has used the PEBS registers to do this type of sampling on P4 based processors running a perfmon2 kernel. His master's thesis describes how this was accomplished. The main problem is the PEBS hardware doesn't directly give address information; it give processor state information. Computing the address from the state information is possible, but non-trivial.

I don't think that AMD Opterons have hardware that allows that. The AMD Family 10 processors are suppose to have some type of sampling mechanism to allow collection of memory reference addresses.

OProfile does not support the PEBS (or tagging) hardware. It just does instruction space sampling.

Another possible suggestion is to make use of the TLB hardware and mark pages as unreadable and then have the trap hander do some data collection.

-Will
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/

Reply via email to