These patches include various updates and bug fixes mostly for ruby.  The 
patches included the previously reviewed sparse memory changes, as well as 
better organization for the ruby config scripts.  The patches also include a
few simple performance optimizations: removing bash code, configuring set to
use a smaller size, and disabling adaptive routing.  Larger performance opts.
should probably be attempted after Ruby fully converts to STL and may require
completely redesigning the PerfectSwitch wakeup function.

Finally, a couple of these patches deal with transferring data between M5 and 
ruby .  These patches are intended to start a conversation.  
I imagine these patches won't
be checked in as is.  If I'm mistaken please correct me, but it
appears that M5 dynamic data is allocated on the heap, while M5 static data
is on the stack.  Therefore after the initial call to RubyRequest, static 
data must be copied or the data pointer will point to garbage.  Currently
RubyPort does not copy M5 data, but instead directly uses the M5 packet data
pointer for dynamic data and sets the data pointer to NULL for static data.
Before I added static data copy support to RubyPort, I want to understand why
M5 uses static data for Ifetches and some device dma.

Thanks,

Brad

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

Reply via email to