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
