From: mithun s. <mit...@ya...> - 2004-09-26 22:47:48
|
hello, I do not know if this is a right place to post this query since it is not directly related to oprofile. But i will be grateful i anyone can help me out on this one. My question is regarding performance monitoring events on Pentium 4, in particular this is about simple At-retirement event counting (NOT PEBS sampling). I have referred to the following application notes - IA-32 Intel Architecture, Software Developers Manual, Volume 3 : System Programming Guide. IA-32 Intel Architecture, Optimization Reference Manual From what i follow - For tagging front-end events, with the metric "memory_loads", we are supposed to set up the following Front_End Event's associated ESCR -> Event Mask = NBOGUS (0x1) , Event Select = 0x8, Front_End Event's associated CCCR -> CCCR Select = 0x5. Uop_Type Event's associated ESCR -> Event Mask = TAGLOADS (0x1), My question is this .... To enable simple at-retirement counting, 1: Are we also supposed to set the Event Select field in the Uop_Type Event's associated ESCR too ? 2: Are we also supposed to program the CCCR associated with Uop_Type Event by setting the CCCR select and enabling the performance counter too ? please note again that my questions pertain to simple At-Retirement Counting and not PEBS based sampling. Thanks, Regards, Mithun Shanbhag. Syracuse University. |
From: Yaoping R. <yr...@cs...> - 2004-09-27 00:30:00
|
Hi, Based on my understanding and experiments, the answers to your questions both are yes. A relevant (but indirect) ref in "IA-32 Intel Architecture, Software Developer=92s Manual, Volume 3 : System Programming Guide" is on page A-30, Table A-2 as "uop_type / Event Specific Notes": "Setting the TAGLOADS and TAGSTORES mask bits does not cause a counter to increment. They are only used to tag uops." Which means that 1. you need to setup both of the events, 2. you will get= 0 value from Uop_Type, but the real value is counted by Front_Tag_Events. There were some discussions about these events in the mailing list which you may also find helpful, such as: http://marc.theaimsgroup.com/?l=3Doprofile-list&m=3D109363568720802&w=3D2 Regards -Yaoping Ruan > 1: Are we also supposed to set the Event Select field > in the Uop_Type Event's associated ESCR too ? > 2: Are we also supposed to program the CCCR associated > with Uop_Type Event by setting the CCCR select and > enabling the performance counter too ? |
From: mithun s. <mit...@ya...> - 2004-09-27 13:32:28
|
Hello, Yaoping. Thanks for the solution. I also have another small question - As stated in the Intel manuals, The Pentium 4 and Intel Xeon processors performance monitoring facilities support the three usage models - 1: "Event Couting", 2: "Non-precise event-based sampling", 3: "Precise event-based sampling (PEBS)" I Would like to know if the Uop-tagging mechanism for "At-retirement events" (front-end tagging, execution tagging and replay tagging) exists only for the latter 2 usage models ? Does it exist for the "Event Counting" Usage model ? Thanks, Regards, Mithun Shanbhag, Syracuse University. |
From: Yaoping R. <yr...@cs...> - 2004-09-27 18:24:35
|
Hi, I guess you meant "exists only for the _former_ 2 usage models" instead of "latter 2". "Event counting" and "Non-precise event-based sampling" support for all events, but PENS only supports for a subset of at-retirement events currently, see table A-6 in the manual you mentioned. Thus I don't think you can use PEBS for uop-tagging. Regards -Yaoping > 1: "Event Couting", > 2: "Non-precise event-based sampling", > 3: "Precise event-based sampling (PEBS)" > I Would like to know if the Uop-tagging mechanism for > "At-retirement events" (front-end tagging, execution > tagging and replay tagging) exists only for the latter > 2 usage models ? Does it exist for the "Event > Counting" Usage model ? |