There are some missing u_writeDataToL1Cache actions in the
current MESI_CMP_filter_directory-L1cache.sm file. They should be added
whenever the L1 receives data from the L2 or L1. Here's a list of
transitions that need this action:
transition(IS, L2_Data_all_Acks, S) {
u_writeDataToL1Cache;
...
transition(IS_I, L2_Data_all_Acks, S) {
u_writeDataToL1Cache;
...
transition({IS, IS_I}, L2_Data, IS_S) {
u_writeDataToL1Cache;
...
transition({IS, IS_I}, L2_Exclusive_Data, IS_E) {
u_writeDataToL1Cache;
...
transition({IS, IS_I}, L2_Exclusive_Data_all_Acks, E){
u_writeDataToL1Cache;
...
transition(IS, DataS_fromL1, S) {
u_writeDataToL1Cache;
...
transition(IS_I, DataS_fromL1, S) {
u_writeDataToL1Cache;
...
transition(IM, Data_all_Acks, M) {
u_writeDataToL1Cache;
...
transition(IM, L2_Data, IM_M) {
u_writeDataToL1Cache;
...
transition(IM, L2_Data_all_Acks, M){
u_writeDataToL1Cache;
...
Even with these fixes, this protocol can still fail the tester due to
complex PUTX races that we are currently debugging & fixing. The next
version of this protocol will be coming out with GEMS 2.1, once we get all
its features tested & debugged.
Luke
On Mon, 4 Feb 2008, Irene-Aggeliki Chounta wrote:
hello all.
I've recently upgraded to GEMS 2.0 and working on MESI_CMP_filter_directory. The making of ruby for this protocol is quite succesful but while running the tester.exec (./tester.exec -p 16 -l 10000), I get several warning and a fatal error:
"Fatal Error: in fn void Check::performCallback(NodeID, SubBlock&) in tester/Check.C:208: Action/check failure"
In rubyconfig.defautls I have used NUMBER_OF_VIRTUAL_NETWORK=5 and 6 but with no luck. I also tried to test the MESI_CMP_directory which also doesn't work and produces the same error.
Do you have any idea of what's wrong?
thank you.
-------------------------------------------------------------------
Irene.
......in accordance with the prophecy.
|