lkml.org 
[lkml]   [2000]   [Sep]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: spin_lock forgets to clobber memory and other smp fixes [was Re: [patch] waitqueue optimization, 2.4.0-test7]
    On Thu, 7 Sep 2000, Jamie Lokier wrote:

    >I tried it with two compilers, one older than yours and one newer:

    So maybe I'm just been unlucky/lucky (depends on the point of view :) or
    maybe we patched something I'm not aware of to make the kernel to compile
    right.

    > .ident "GCC: (GNU) egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)"
    > .ident "GCC: (GNU) 2.96 20000724 (experimental)"
    >
    >The command lines were:
    >
    > gcc -S -O2 test4.c
    > kgcc -S -O2 test4.c
    >
    >In both cases, the memory read occurs before "zzz".

    andrea@inspiron:~ > cat p.c
    int *p;
    int func()
    {
    int x;
    x = *p;
    __asm__ __volatile__ ("" : : );
    x = *p;
    return x;
    }
    andrea@inspiron:~ > gcc -O2 -S p.c
    andrea@inspiron:~ > cat p.s
    .file "p.c"
    .version "01.01"
    gcc2_compiled.:
    .text
    .align 16
    .globl func
    .type func,@function
    func:
    pushl %ebp
    movl %esp,%ebp
    #APP
    #NO_APP
    ^^^^^^^
    movl p,%eax
    movl %ebp,%esp
    popl %ebp
    movl (%eax),%eax
    ^^^^^^^^^^^^^^^^
    ret
    .Lfe1:
    .size func,.Lfe1-func
    .comm p,4,4
    .ident "GCC: (GNU) 2.95.2 19991024 (release)"
    Andrea

    -
    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:38    [from the cache]
    ©2003-2011 Jasper Spaans