lkml.org 
[lkml]   [2007]   [Oct]   [31]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateWed, 31 Oct 2007 18:10:20 -0400
FromPhillip Susi <>
SubjectRe: Is gcc thread-unsafe?
>             pushl   %ebp
>             movl    %esp, %ebp
>             cmpl    $0, 8(%ebp)
>             movl    $1, %eax
>             cmove   v, %eax        ; load (maybe)
>             movl    %eax, v        ; store (always)
>             popl    %ebp
>             ret
How is this even an optimization?  It looks SLOWER to me.  The 
conditional read wastes memory bandwidth sometimes, if the condition is 
true, and v isn't already in the cache.  The unconditional write wastes 
memory bandwidth ALL the time, and dirties/flushes caches, in addition 
to not being thread safe.

This SHOULD be using a conditional write instead of a conditional read 
and an unconditional write.


-
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-10-31 23:13    [from the cache]
©2003-2008