RE: [PATCH] lockref: remove cpu_relax() again

From: Luck, Tony
Date: Thu Sep 05 2013 - 14:57:15 EST


> Also, it strikes me that ia64 has tons of different versions of
> cmpxchg, and the one you use by default is the one with "acquire"
> semantics

Not "tons", just two. You can ask for "acquire" or "release" semantics,
there is no relaxed option.

Worse still - early processor implementations actually just ignored
the acquire/release and did a full fence all the time. Unfortunately
this meant a lot of badly written code that used .acq when they really
wanted .rel became legacy out in the wild - so when we made a cpu
that strictly did the .acq or .rel ... all that code started breaking - so
we had to back-pedal and keep the "legacy" behavior of a full fence :-(

-Tony

¢éì®&Þ~º&¶¬–+-±éÝ¥Šw®žË±Êâmébžìdz¹Þ)í…æèw*jg¬±¨¶‰šŽŠÝj/êäz¹ÞŠà2ŠÞ¨è­Ú&¢)ß«a¶Úþø®G«éh®æj:+v‰¨Šwè†Ù>Wš±êÞiÛaxPjØm¶Ÿÿà -»+ƒùdš_