Freeing the L2 block only after local invalidates are acked in the OLSF
state may lead to a deadlock.
Change-Id: Ia4b60e5bc9e2d3315b874a8c6616478db6eb38c1
Signed-off-by: Tiago Mück <tiago.muck@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21929
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
i_allocateTBE;
t_recordFwdXID;
ee_sendLocalInv;
+ gg_clearLocalSharers;
+ checkCacheNoSharersNoOwner;
+ rr_deallocateL2CacheBlock;
m_popRequestQueue;
}
transition(OLSF, All_Acks, I) {
c_sendDataFromTBEToFwdGETX;
- gg_clearLocalSharers;
s_deallocateTBE;
- checkCacheNoSharersNoOwner;
- rr_deallocateL2CacheBlock;
n_popTriggerQueue;
wa_wakeUpDependents;
}