On Mon, Oct 19, 2009 at 12:46 PM, nathan binkert <[email protected]> wrote:

>
> > StaticInst::decode() Perhaps replication would be a good place to start.
> I
> > think the structure is just accessed too much to have any kind of
> locking.
> I agree that replication can work, but I'd say we start with a rwlock
> and then replicate once we get a running system.
>

I'm not convinced that replication is a win here... my expectation is that
this is a read-mostly structure; once the simulation is well underway I
think there would be very few new static instructions encountered.  I don't
know how large this thing gets; probably not large enough to matter for
physical memory capacity, but quite possibly large enough that having
multiple copies in a shared L3 cache could be detrimental.  It could also
possibly benefit from a prefetching effect if one thread is decoding ahead
of the others.  (Though if the simulated cores are close to lock-step on the
same piece of code, then there probably won't be much of a win.)

It's easy to speculate with no data, but I vote for starting with a rwlock
and seeing how it goes and then only moving toward replication if it's a
clear bottleneck in a long-running simulation.

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

Reply via email to