Showing results for 
Search instead for 
Did you mean: 

Regarding Haswell uncore counters

Can anyone please explain what is the exact difference between TOR_INSERT and TOR_OCCUPANCY counters. Although I have read intel documentation I couldn't find an exact definition about these.

0 Kudos
1 Reply
New Contributor III

These events are defined in the uncore monitoring guide document of the processor of interest. The TOR_INSERT and TOR_OCCUPANCY events are defined as follows in the HSX uncore monitoring guide:

TOR_INSERT: Counts the number of entries successful inserted into the TOR that match qualifications specified by the subevent.

TOR_OCCUPANCY: For each cycle, this event accumulates the number of valid entries in the TOR that match qualifications specified by the subevent.

(Side note: Apparently there is no way to insert quotes in this forum, which is really annoying!)

For example, when a new request is inserted in a TOR that already has 5 pending requests, the following changes occur to the event counters:

  • The TOR_INSERT event counter is incremented by 1.
  • The TOR_OCCUPANCY event counter is incremented by 6 since the occupancy, or the number of TOR entries in use, is 6 in the current cycle.

If, in a given cycle, there are no new inserts, only the TOR_OCCUPANCY may be incremented according to the occupancy. The TOR_OCCUPANCY event occurs in every cycle in which the TOR is not empty while the TOR_INSERT event occurs only on successful insertions in the TOR.