Extra Zero/Shark patches for review

Greg Lewis glewis at eyesbeyond.com
Thu Nov 19 19:08:46 PST 2009


G'day Christos,

On Thu, Nov 19, 2009 at 06:44:02PM -0500, Christos Zoulas wrote:
> FYI, I've gotten rid of all the ${MACHINE} conditionals in my
> version of the code and this is what I am using now:
> 
>     http://www.zoulas.com/junk/atomic_bsd_zero.inline.hpp

I get a 404 from that URL unfortunately :(.

> So it turns out that NetBSD's atomic implementation (which is ~=
> to Solaris) has all the necessary functions to implement the calls
> directly without any glue. I just wrote macros/inlines for the
> FreeBSD to supplement the functions where they were missing.
> 
> I don't think that the substitute functions (which I just copied
> from the bodies of the original file) are safe, since they do
> unlocked multiple accesses to the memory locations involved, so it
> would be better to implement directly the atomic primitives. But
> then again I did not look at them very hard.

Thanks for working on this, that sounds great :).

> MI:
>     http://cvsweb.netbsd.org/bsdweb.cgi/src/common/lib/libc/atomic/
> MD[arm]:
>     http://cvsweb.netbsd.org/bsdweb.cgi/src/common/lib/libc/arch/arm/atomic/
> 
> Of course something needs to be done with 64 bit atomics on the 32
> bit implementations that don't support them, but...

Even without that this should expand the platform support considerably.

-- 
Greg Lewis                          Email   : glewis at eyesbeyond.com
Eyes Beyond                         Web     : http://www.eyesbeyond.com
Information Technology              FreeBSD : glewis at FreeBSD.org



More information about the bsd-port-dev mailing list