Thread (1 message) 1 message, 1 author, 2002-02-01

Re: [libc-alpha] Re: PATCH: Fix ll/sc for mips

From: H . J . Lu <hidden>
Date: 2002-02-01 08:10:41

On Thu, Jan 31, 2002 at 08:02:25PM -0800, Kaz Kylheku wrote:
On Fri, 1 Feb 2002, Hiroyuki Machida wrote:
quoted
Please note that "sc" may fail even if nobody write the
variable. (See P.211 "8.4.2 Load-Linked/Sotre-Conditional" of "See 
MIPS RUN" for more detail.) 
So, after your patch applied, compare_and_swap() may fail, even if
*p is equal to oldval.
I can't think of anything that will break because of this, as long
as the compare_and_swap eventually succeeds on some subsequent trial.
If the atomic operation has to abort for some reason other than *p being
unequal to oldval, that should be cool.
Maybe we should document it in glibc, something like

compare_and_swap compares the contents of a variable with an old value.
If the values are equal and a new value is stored in the variable
atomically, 1 is returned; otherwise, 1 is returned.


H.J.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help