[PATCH v2] Remove atomic_compare_and_exchange_bool_rel.

Torvald Riegel triegel@redhat.com
Fri Jun 17 18:58:00 GMT 2016


On Fri, 2016-06-17 at 14:33 -0300, Tulio Magno Quites Machado Filho
wrote:
> Torvald Riegel <triegel@redhat.com> writes:
> 
> > Removing this operation and the matching (unused) catomic_ operation
> > seemed to be easier than fixing powerpc's definition of it, only for it
> > to be removed anyway in the future.  There were just three call sites of
> > it.
> 
> OK, but why can't we remove __arch_compare_and_exchange_bool_*_rel from
> powerpc[32|64] right now?
> AFAICS, they're all unused.

Right. I've removed them in the attached revised patch.

> For the record, microblaze seems to have a few unused lines as well.

Likewise.

Note that for powerpc specifically, use of the new C11-like
atomic_compare_exchange_weak_release will have acquire semantics too,
unnecessarily.  This patch only adds this effect in the nscd cache and
in some cases for robust locks, which I wouldn't consider
performance-critical.  However, semaphores and barriers use
atomic_compare_exchange_weak_release already, where it might matter
somewhat more; this was the case already before this patch.

This issue will disappear as soon as you (can) set
USE_ATOMIC_COMPILER_BUILTINS to 1.  What's your plan for powerpc
regarding this?  Is the currently required  GCC 4.7 sufficient, or what
is the first GCC version where this would be possible?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: cas-bool-rel-remove.patch
Type: text/x-patch
Size: 13949 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20160617/2095ff78/attachment.bin>


More information about the Libc-alpha mailing list