I-to-M transition

By: Travis Downs (travis.downs.delete@this.gmail.com), May 1, 2020 4:17 pm
Room: Moderated Discussions
The text for the offcore_requests.demand_rfo event on Skylake (and many other uarches) reads:

Counts the demand RFO (read for ownership) requests including regular RFOs, locks, ItoM.

I assume ItoM means I to M MESI state transition. What type of request would this be? Do the I and M refer to the inner cache (sending the request) or the outer cache (receiving the request)?

It's not clear how it differs from a regular RFO: a regular RFO would cause a line to go from I to E/M in the inner cache, so why give it a special name? I don't see much benefit for the outer cache to distinguish between E/M wrt the inner cache. Is it a case where the request actually also includes the data, maybe an NT store, like the inner cache saying "oh hey, I never had exclusive ownership of this line, but here's some new data for it"? (actually, it is not clear to me if the core needs to get ownership of the line locally to do an NT store)
 Next Post in Thread >
TopicPosted ByDate
I-to-M transitionTravis Downs2020/05/01 04:17 PM
  I-to-M transitionTravis Downs2020/05/01 04:17 PM
    Ignore the parent duplicate post (NT)Travis Downs2020/05/01 04:18 PM
  I-to-M transitionChester2020/05/01 06:06 PM
Reply to this Topic
Body: No Text
How do you spell purple?