Re: How to guarantee memory access orthogonality without atomics?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/27/2012 11:46 AM, Leonard Plentz wrote:
> While your citations are technically from a draft proposal, I'm
> substantially convinced that you're correct in your assertion that
> "You can't have a data race if the threads don't access the same
> objects", byte-granularity assumed. In any event, thank you very much
> for the guidance.
> 
> For the benefit of the archive, I found this related thread:
> http://lwn.net/Articles/479626/
> 
> which quotes, as you did, that:
> 
> "Two expression evaluations conflict if one of them modifies a memory
> location and the other one reads or modifies the same memory
> location."
> 
> It seems to me that the danger herein lies in the environment in which
> "same" is evaluated. What you've suggested is that the evaluation is
> to occur at the memory controller level, not at the compiler level. (I
> think that makes sense, but I'm not sure it's explicit in the spec.)
> So there's a small danger here that one could consider nonconflicting
> an expression which modified only orthogonal memory locations at the
> superficial C level, but which resolved to read-modify-write conflicts
> at the cache line level.

That would be a nonconforming implementation.

Andrew.


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux