lkml.org 
[lkml]   [2007]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/24] make atomic_read() behave consistently across all architectures
    On Thu, 16 Aug 2007, Paul Mackerras wrote:

    > In the kernel we use atomic variables in precisely those situations
    > where a variable is potentially accessed concurrently by multiple
    > CPUs, and where each CPU needs to see updates done by other CPUs in a
    > timely fashion. That is what they are for. Therefore the compiler
    > must not cache values of atomic variables in registers; each
    > atomic_read must result in a load and each atomic_set must result in a
    > store. Anything else will just lead to subtle bugs.

    This may have been the intend. However, today the visibility is controlled
    using barriers. And we have barriers that we use with atomic operations.
    Having volatile be the default just lead to confusion. Atomic read should
    just read with no extras. Extras can be added by using variants like
    atomic_read_volatile or so.

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-08-16 02:29    [from the cache]
    ©2003-2011 Jasper Spaans