Hi,
There is a small bug in the initialization of DATA_MESSAGE_SIZE (which is used 
by the Network).

In src/mem/ruby/network/Network.hh
there is this line:

const int DATA_MESSAGE_SIZE = (RubySystem::getBlockSizeBytes()+8);

The problem is that RubySystem's init function (which sets the block size) is 
called *after* Network is created, and hence DATA_MESSAGE_SIZE gets set to (0 + 
8).

Network has its own init function too which is called later, but 
DATA_MESSAGE_SIZE is not part of that.

Brad and I were discussing some potential ways to solve this issue.
We can either make DATA_MESSAGE_SIZE a local variable of the Network class and 
set it during the init. However, this leads to things like declaring static 
variables, referencing the network pointer from the system pointer etc -> a 
sort of ugly way to set a constant parameter.

Another possibility is using 64 bytes as the block size here and then having an 
assertion check in the init function...

Any suggestions from the GEM5 team?

Thanks
Tushar
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to