- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'm trying to get the % of LLC cpu time for hit and misses using the following for Xeon E5 family processor
Formulas:
% of cycles spent on memory access (LLC misses):
(MEM_LOAD_UOPS_MISC_RETIRED.LLC_MISS_PS * 210) / CPU_CLK_UNHALTED.THREAD
% of cycles spent on last level cache access (2nd level misses that hit in LLC):
((MEM_LOAD_RETIRED.L3_HIT_PS * 40) + (MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HIT_PS * 88) + (MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HITM_PS * 99)) / CPU_CLK_UNHALTED.THREAD
We are using Intel Vtune 2013 on Linux Ubuntu 12.04 to capture the General exploration with default settings for PMU events.
We dont find all the necessary (listed below) counters in the vtune GE analysis…
Here is the list of counters that are not visible…( Xeon e5 family)
MEM_LOAD_UOPS_MISC_RETIRED.LLC_MISS_PS
MEM_LOAD_RETIRED.L3_HIT_PS
MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HIT_PS
MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HITM_PS
However, we find the non _PS versions of above counters are available. So question is why _PS counter are not available in LINUX vtune 2013 ? Can we use Non _PS counters for the above formulas ? If not, how do we enable _PS counters in the vtune capture for general exploration (GE)?
/Girish BK
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I verified on E5500 machine, that is true:
MEM_LOAD_RETIRED.DTLB_MISS
MEM_LOAD_RETIRED.HIT_LFB
MEM_LOAD_RETIRED.L1D_HIT
MEM_LOAD_RETIRED.L2_HIT
MEM_LOAD_RETIRED.LLC_MISS
MEM_LOAD_RETIRED.LLC_UNSHARED_HIT
MEM_LOAD_RETIRED.OTHER_CORE_L2_HIT_HITM
But I think there is no any problem to use these events (without "_PS") in formulas for E5 machines.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
MEM_LOAD_UOPS_MISC_RETIRED.LLC_MISS (which is used in above formula to calculate % cycles on memory accesses) is also not there in the output counters..Is this same as MEM_LOAD_UOPS_RETIRED.LLC_MISS??
Thanks
~Vasudev Jakhar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
For Nehalem processors, use MEM_LOAD_RETIRED.LLC_MISS instead of MEM_LOAD_UOPS_MISC_RETIRED.LLC_MISS
For SandBridge processors, use MEM_LOAD_UOPS_MISC_RETIRED.LLC_MISS_PS
For IvyBridge processors, use MEM_LOAD_UOPS_RETIRED.LLC_MISS_PS
You need to check what exact LLC miss event name is in your system. Guideline author wrote the article when SandBridge processor is ready, so use SandyBridge event name in formula, as the example.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page