On Jun 27, 2011, at 19:53, David Miller wrote:

> I'm trying to find the part of the v8 manual that says there is
> a situation where we should use "stbar" and a "ldstub" to implement
> proper memory barriers.  In particular I'm looking in Appendix J,
> "Programming with the memory models."  Where is the description?
See J.7, and study why the store instructions are replaces by SWAP.
> 
> Adding a ldstub here is going to be really expensive, on UltraSparc
> that can be 36+ cycles even on a cache hit.

Yes, synchronization in multi-CPU systems is expensive.
If it's really cheap, you're probably doing something wrong.

> Also, the more I think about it, the issue really is that one is
> trying to run v8 code on a v9 cpu.

Double no:
   1. No, my primary concern is about v8 code running on multiprocessor
      systems implementing the SPARC v8 architecture (LEON3 in particular)
   2. No, a SPARCv8 compliant binary should run correctly on both
      SPARCv8 and SPARCv9. The entire raison-d'ĂȘtre for the SPARC
      architecture is so we can write code based on the architecture,
      and have it run correctly on all implementations.

  -Geert

Reply via email to