Also, there's a bug in the powerpc implementation. It appears that oparg is clobbered, and if stwcx fails the operation will be repeated with incorrect inputs.
If either the lwarx or the stwcx. faults, the routine returns -EFAULT and doesn't retry (label "3" is the end of the asm).
If the stwcx. fails because the CPU lost the reservation, %1 isn't clobbered as far as I see? Segher _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev