- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Regarding the Intel Xeon Processor E5 and E7 v3 Family Uncore Performance Monitoring Reference Manual (June 2015):
The last table in this document, "Table 2-265. Opcodes" lists various coherence transaction messages and their opcodes & msg classes. It also has a column labeled "Gen By" in which there are entries such as, for example, Co, Ci, Ho, Hi, Uo. Can someone clarify the meaning of the entries in this column?
Regards,
Paul.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
From a brief look at the transactions, I would guess that the "Gen By" fields indicate which functional units generate (or use?) this message opcode (C=CBox, H=Home Agent, U=UBox).
The "i" and "o" sort of look like they represent "inbound" and "outbound" opcodes at each of the agents. This is not particularly consistent with the "Generated By" column label, but a spot check of the transactions that I think I understand is consistent with this interpretation. E.g.
- All of the "Rd" opcodes (except RdDataMigratory) include Co and Hi,
- Hi makes sense -- these should be inputs to the Home Agent.
- Co makes sense -- they should be sent from the CBox(es).
- The Data Response opcodes all list Ho and Ci -- from the Home Agent to the CBox
- The Data Response (excluding completion) transaction also lists Co, since it can come from a CBox.
- All the "Interrupt" transactions (except IntAck) are listed as Ui, Uo, and Co.
- Ui makes sense -- the UBox receives interrupts.
- Uo makes sense -- the UBox sends interrupts.
- Co makes sense -- the CBox could be the intermediary that sends the output of the INTR instruction to the Ubox.
- All the configuration space reads and writes are Co and Ui, which fits with the description of the UBox.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
From a brief look at the transactions, I would guess that the "Gen By" fields indicate which functional units generate (or use?) this message opcode (C=CBox, H=Home Agent, U=UBox).
The "i" and "o" sort of look like they represent "inbound" and "outbound" opcodes at each of the agents. This is not particularly consistent with the "Generated By" column label, but a spot check of the transactions that I think I understand is consistent with this interpretation. E.g.
- All of the "Rd" opcodes (except RdDataMigratory) include Co and Hi,
- Hi makes sense -- these should be inputs to the Home Agent.
- Co makes sense -- they should be sent from the CBox(es).
- The Data Response opcodes all list Ho and Ci -- from the Home Agent to the CBox
- The Data Response (excluding completion) transaction also lists Co, since it can come from a CBox.
- All the "Interrupt" transactions (except IntAck) are listed as Ui, Uo, and Co.
- Ui makes sense -- the UBox receives interrupts.
- Uo makes sense -- the UBox sends interrupts.
- Co makes sense -- the CBox could be the intermediary that sends the output of the INTR instruction to the Ubox.
- All the configuration space reads and writes are Co and Ui, which fits with the description of the UBox.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks John, much appreciated. The interpretation of inbound/outbound for the three boxes had crossed my mind but didn't seem to fit with the 'Gen By' column header. Upon closer inspection (and as you showed) that interpretation does seem correct and the column header a little misleading. I guess a more appropriate column title might be 'Generated/Consumed By'
Best Regards,
Paul.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page