> 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

Reply via email to