Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Paul_C_11
Beginner
102 Views

QPI Link Layer Packet Matching Reference "Gen By"

Jump to solution

Hi,

 

Regarding the Intel Xeon Processor E5 and E7 v3 Family Uncore Performance Monitoring Reference Manual (June 2015):

https://www-ssl.intel.com/content/www/us/en/processors/xeon/xeon-e5-v3-uncore-performance-monitoring...

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.

 

 

 

0 Kudos
1 Solution
McCalpinJohn
Black Belt
102 Views

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.

 

View solution in original post

2 Replies
McCalpinJohn
Black Belt
103 Views

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.

 

View solution in original post

Paul_C_11
Beginner
102 Views

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.

Reply