I would like to know if any presently available tool can
be used to get the L3 cache misses numbers from the performance
counters of Nehalem based architecture? Also, is it possible to
identify the exact point in the execution of a program when this L3
cache miss occurs?
Thanks for the reply. First of all, should I move this thread to VTune Performance Analyzer forum then?
The L3_LAT_CACHE.REFERENCE and L3_LAT_CACHE.MISS are indeed the performance counters I would need to look at. I understand that I can read the values of these counters using RDMSR. Is this correct? And is there any interrrupt or exception generated when these counters overflow?
ok :) but, i do need to go into the architectural details, so i am pursuing this.
i need to know what type of interrupts are generated on overflow of the
performance counters and what data is available to the exception
handlers for these. i figured out something like, there is a INT bit
(bit 22) in the IA32_PERFEVTSELx MSR that you are using for monitoring
your event, which is set when the corresponding PMC overflows and a
local APIC interrupt is generated.
and if a performance counter is configured for PEBS, overflow condition
in the counter generates a performance monitoring interrupt signalling a
are these two same things?
and i think L3_LAT_CACHE.MISS and L3_LAT_CACHE.REFERENCE are the events which have to be attached to IA32_PERFEVTSELx MSR and its associated IA32_PMCx MSR. you do not have separate counters for these events, right?