From 15afc87f7cb5994c308422d2b01e1c0723a07e5e Mon Sep 17 00:00:00 2001 From: Derek Hower Date: Wed, 8 Jul 2009 08:40:32 -0500 Subject: [PATCH] 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. --- src/mem/protocol/MI_example-dir.sm | 12 ++++++------ src/mem/ruby/config/defaults.rb | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) 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 -- 2.30.2