> Attached is a patch I would like to check in that allows Ruby to support a > very large memory address space and high core count. Currently ruby uses a > flat array to store the memory state of the system. This works well when > the simulated system is roughly 4 GB or less, but is not practical for 128 > GB+ systems. The patch provides the Directory Memory a sparse memory data > structure, which is essentially a hierarchical map. The patch also includes > various bug fixes including configuration string parsing and debug fixes. > > > > Let me know what you think. If I don’t hear any complaints within a week, > I’ll go ahead and check it in.
My biggest complaint is that you do too many different things in this patch. When working in a large group, you really, *really* need to make changesets cover just one change. There are a lot of things going on in this changeset that just seem to be unrelated. Separation will take a little while, but really isn't so bad if you use mercurial queues. Also, if you use mq to begin with and make it a habit to create new patches when you're working, this becomes a non issue. I'd like to see the following: 1) Please separate out any 64-bit fixes into a separate changeset. 2) Separate out the sparse memory stuff into its own changeset. I'd also love it if you separated the Ruby part of sparse memory from the actual memory management so we can use it elsewhere. The basic sparse memory stuff could go in src/base. 3) separate out the MI_example changes into its own changeset. 4) Separate out the debugging changes Nate _______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev