lkml.org 
[lkml]   [2000]   [Dec]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: test13-pre5


    On Sun, 31 Dec 2000, Andi Kleen wrote:
    >
    > Sounds good. It could also be controlled by a CONFIG_SPACE_EFFICIENT for
    > embedded systems, where you could trade a bit of CPU for less memory overhead
    > even on systems where u8 is slow and atomicity doesn't come into play
    > because it's UP anyways.

    UP has nothing to do with it.

    The alpha systems I remember this problem on were all SMP.

    Imagine an architecture where you need to do a

    load_32()
    mask-and-insert-byte
    store_32()

    and imagine that an interrupt comes in:

    load_32()
    mask-and-insert-byte

    * INTERRUPT *

    load_32()
    mask-and-insert-ANOTHER-byte
    store_32()

    interrupt return

    store_32()

    and notice how the value written by the interrupt is gone, gone, gone,
    even though it was to a completely different byte.

    Now, imagine that the first byte is the "age", and imagine that the thing
    the interrupt tries to update is "flags".

    Yes, you're screwed.

    I don't think it's a good diea.

    Linus

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

    \
     
     \ /
      Last update: 2005-03-22 12:52    [W:0.023 / U:30.276 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site