Re: OpenMPI atomics patch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 13 Nov 2012, Jon Masters wrote:

> On 11/11/2012 03:56 AM, Jon Masters wrote:
> 
> > This is an ugly kludge with some hand crafted assembly, but it builds
> > locally, and I think the scratch build should succeed this time. Note, I
> > was confused by the fact that there are at least *two* different sets of
> > atomics implemented in OMPI (it's a mess). With this, both are now
> > fixed, regardless of which compiler is being used.
> 
> I've updated the patch, following useful feedback from Nicolas Pitre.
> There is at least one bug in the current code (r3 clobbering, bad use of
> r12 because I knew it wasn't touched and didn't want to save it, which
> was just plain lazy and shouldn't have been done). I've tested these
> fixes in a little test harness and have a scratch going now:

I can see a few more issues in this patch:

The ARMv5 version of opal_atomic_add_32 doesn't return the new value as 
the ARMv6 version does.  If that is necessary, you'll need a "mov r0, 
r1" before the pop.  Same issue for opal_atomic_sub_32.

In the ARMv6 file, you use ldrexd/strexd instructions which are only 
available with the k extension of the ARMv6 architecture.  That means 
non-SMP ARMv6 variants won't support those instructions.  You probably 
should consider using the __kuser_cmpxchg64 kernel helper instead in 
that case.

And of course, the availability of __kuser_cmpxchg64 means that you 
could add 64 bit support to the ARMv5 version as well if you feel like 
it.


Nicolas
_______________________________________________
arm mailing list
arm@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/arm



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM (Vger)]     [Linux ARM]     [ARM Kernel]     [Fedora User Discussion]     [Older Fedora Users Discussion]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Maintainers]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [Linux Apps]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]

Powered by Linux