atomic reference counting primatives.

Daniel Eischen eischen at vigrid.com
Mon May 24 13:25:59 PDT 2004


On Mon, 24 May 2004, John Baldwin wrote:

> On Monday 24 May 2004 10:50 am, Daniel Eischen wrote:
> > On Mon, 24 May 2004, John Baldwin wrote:
> > > atomic_cmpset() is an "official" primitive.  The problem is that Mike is
> > > using an enum and assuming that all enum's are ints which is not
> > > necessarily true. The code should perhaps use an int with #define's
> > > instead to guarantee that the variable is an int and not a short, char,
> > > or long.
> >
> > You can't use atomic_cmpset() in userland on 386, so
> > if it is being used in libthr, the machine must be
> > checked to make sure it will work, otherwise should
> > fall back to something else...
> 
> I'd be fine with it being a compile option to be honest.  We already don't 
> support 80386's out of the box since they need a custom kernel.  I'd rather 
> not pessimize world + dog for the 80386.

I'm not too concerned about whether it is a compile or run-time
option, just that the code doesn't rely on having that operation
in order to work.  Unless we just throw up our hands and say
libfoo isn't supported on 386...

-- 
Dan Eischen



More information about the freebsd-arch mailing list