On 11/7/11 8:58 PM, "George Bosilca" <bosilca_at_[hidden]> wrote:
>I'll take as an example the atomic operations. They exist only on amd64,
>and only if the compiler supports gcc-like assembly. However, the atomic
>operation is defined in a global header with a very exciting name
>atomic.h. If anybody else start using these atomics (and as they appear
>in a header file I don't see why not), there is a very high probability
>of weird build or execution errors. [foot-note: Amazingly, all the
>productive-quality lovers in this community vanished lately.] I let you
>imagine what would have been the answer from the community if you had
>proposed such an RFC before doing the actual commit.
George, get off it already. Nathan apologized for not putting an RFC out
for the seg_key. You've done the same in the past, as have we all.
Figure out the right solution and move on.
I would not have done an RFC for the atomics, and neither would you.
While Nathan needs to fix the non-inline assembly part (which probably
means sending me an e-mail, since it's not at all intuitive how to do),
only implementing it on a subset of the platforms is not without
precedent. It would have been nice to see ia32 implementation (since
they're the same instruction), but the rest are platforms that are getting
harder and harder to find. Further more, the atomics have a #define
(which Nathan did set properly) for determining whether swap is / is not
implemented. This exists for two reasons: 1) not all platforms can
support and platforms and 2) it was recognized that one person couldn't
maintain all the atomics, so some flexibility was required.
Brian W. Barrett
Dept. 1423: Scalable System Software
Sandia National Laboratories