Extra Zero/Shark patches for review

Greg Lewis glewis at eyesbeyond.com
Fri Nov 20 08:27:50 PST 2009


On Thu, Nov 19, 2009 at 10:22:08PM -0500, Christos Zoulas wrote:
> On Nov 19,  7:08pm, glewis at eyesbeyond.com (Greg Lewis) wrote:
> -- Subject: Re: Extra Zero/Shark patches for review
> 
> | 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 :(.
> 
> Sorry fixed.

Sensational.  I like this implementation.  The #else will need to become
an '#elif __FreeBSD__' though and we'll need to expand things for the
other BSDs unless I'm mistaken.  On MacOS X we'll need to use the atomic
functions in <libkern/OSAtomic.h>.  I'm not sure about OpenBSD.

Kurt, how do you feel about this version and are their atomic definitions
on OpenBSD we can use?  I took a quick look in CVSweb last night and didn't
really see anything, but I could have easily missed it.

> | > 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.
> 
> There are a few other minor issues that I have fixed and now the build
> is progressing very smoothly.
> 
> Thanks for all your work in this!

You should really be thanking Gary Benson, he created Zero :).  So far
porting it has been smooth.

-- 
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