I have a doubt regarding off-core response event programming on Nehalem.
I'm working on a Intel(R) Xeon(R) CPU X5550 system with 2 sockets - each containing 4 cores (Hyperthreading is enabled).
I'm trying to count the number of LLC Hits and Misses encountered by each core in the system separately. In this regard, I saw the section in the Nehalem programming guide about off-core response programming.
Can the offcore events such as LLC Hits and Misses be counted separately for each core in the socket? Or do the counts cover all the cores at a time?
For example: lets say I count the number of LLC Hits on socket 0 as 1000. Does this mean that
(a) all the cores on that socket combined had 1000 LLC Hits OR
(b) that the core on which the thread was running encountered 1000 hits.
Ideally, I would like to be able to count the offcore stats for each core separately.
Thanks in advance,
The performance counter event labelled "offcore response" is a core counter that is incremented in response to counts that are associated with transactions initiated by that specific core. When HyperThreading is enabled, the counts are supposed to be associated with the specific thread, but I have not tested this configuration.
There are often bugs in performance counter implementations, so it is a good idea to read the notes relevant to your processor in Chapters 18 and (especially) 19 of Volume 3 of the SW Developer's Guide, and to look for known bugs reported in the processor Specification Update document for your processor.