lkml.org 
[lkml]   [2006]   [Jul]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [patch] spinlocks: remove 'volatile'
    From
    Date
    Joe Korty <joe.korty@ccur.com> writes:

    > On Fri, Jul 07, 2006 at 11:54:10PM -0400, Albert Cahalan wrote:
    > > That's all theoretical though. Today, gcc's volatile does
    > > not follow the C standard on modern hardware. Bummer.
    > > It'd be low-performance anyway though.
    >
    > But gcc would follow the standard if it emitted a 'lock'
    > insn on every volatile reference. It should at least
    > have an option to do that.

    How do you define reference? While you could do locked mem++ you can't
    do locked mem *= 2 (or any other non trivial operation that doesn't
    direct map to an memory operand x86 instruction which allows lock
    prefixes)

    IMHO the "barrier model" used by Linux and implemented by gcc is much
    more useful for multithreaded programming, and MMIO needs other
    mechanisms anyways.

    I wish the C standard would adopt barriers.

    -Andi
    -
    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: 2006-07-08 15:59    [W:0.019 / U:0.792 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site