From: Derek Hower Date: Wed, 8 Jul 2009 13:40:32 +0000 (-0500) Subject: slicc: fixed MI_example bug. The directory wasn't deallocating the TBE, leading... X-Git-Tag: Calvin_Submission~221 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=15afc87f7cb5994c308422d2b01e1c0723a07e5e;p=gem5.git slicc: fixed MI_example bug. The directory wasn't deallocating the TBE, leading to a leak. Also increased the default max TBE size to 256 to allow memtest to pass the regression. --- diff --git a/src/mem/protocol/MI_example-dir.sm b/src/mem/protocol/MI_example-dir.sm index 29678ffc4..a275e4b8d 100644 --- a/src/mem/protocol/MI_example-dir.sm +++ b/src/mem/protocol/MI_example-dir.sm @@ -528,14 +528,15 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D transition(I, DMA_WRITE, ID_W) { - dw_writeDMAData; -// da_sendDMAAck; + v_allocateTBE; qw_queueMemoryWBRequest_partial; p_popIncomingDMARequestQueue; } transition(ID_W, Memory_Ack, I) { + dwt_writeDMADataFromTBE; da_sendDMAAck; + w_deallocateTBE; l_popMemQueue; } @@ -548,7 +549,7 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D drp_sendDMAData; c_clearOwner; a_sendWriteBackAck; - // d_deallocateDirectory; + d_deallocateDirectory; i_popIncomingRequestQueue; } @@ -561,7 +562,6 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D transition(M_DWR, PUTX, M_DWRI) { qw_queueMemoryWBRequest_partialTBE; c_clearOwner; - w_deallocateTBE; i_popIncomingRequestQueue; } @@ -570,6 +570,7 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D l_sendWriteBackAck; da_sendDMAAck; w_deallocateTBE; + d_deallocateDirectory; l_popMemQueue; } @@ -583,7 +584,6 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D c_clearOwner; v_allocateTBEFromRequestNet; l_queueMemoryWBRequest; - d_deallocateDirectory; i_popIncomingRequestQueue; } @@ -591,6 +591,7 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D w_writeDataToMemoryFromTBE; l_sendWriteBackAck; w_deallocateTBE; + d_deallocateDirectory; l_popMemQueue; } @@ -601,7 +602,6 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D transition(I, PUTX_NotOwner, I) { b_sendWriteBackNack; - d_deallocateDirectory; i_popIncomingRequestQueue; } diff --git a/src/mem/ruby/config/defaults.rb b/src/mem/ruby/config/defaults.rb index fb7d61060..9143cb21e 100644 --- a/src/mem/ruby/config/defaults.rb +++ b/src/mem/ruby/config/defaults.rb @@ -12,7 +12,7 @@ class NetPort < LibRubyObject default_param :buffer_size, Integer, 32 # added by SS for TBE - default_param :number_of_TBEs, Integer, 128 + default_param :number_of_TBEs, Integer, 256 default_param :recycle_latency, Integer, 10 end