Hi All,
The Arm documentation explains that Broadcast of TLB Invalidation commands based on DVM are serialized. which means that Master #1 send Broadcast TLB Invalidation and Master #2 do the same, then Master #2 initiated request is started only once Master #1 finished. Interconnect serializes request. But i'm wondering what is happening when there is a race between local TLB Invalidation and Broadcast TLB Invalidation regarding a given Core.
Multiple possibility to me:
1- if local TLB operation started before then the broadcast operation for the Core is delayed up to the end of local TLB Op
2- if local TLB operation started after then the local TLB operation is delayed up to the end of broadcasted TLB op for the given core.
3- one of the two operation is ignored ?
Any clarification would be welcomed on the expected behavior.
Thanks for you help
So Local TLB Op and Broadcast TLB Op are usually issued in Parallel, A core will receive both local and external snoop and will queue it in its snoop queue and service both of them as they arrive