Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Dec 2000 14:52:20 -0800
From:      Jake Burkholder <jburkhol@home.com>
To:        Julian Elischer <julian@elischer.org>
Cc:        cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org
Subject:   Re: cvs commit: src/sys/sys mbuf.h 
Message-ID:  <20001213225220.9F480BA7D@io.yi.org>
In-Reply-To: Message from Julian Elischer <julian@elischer.org>  of "Wed, 13 Dec 2000 13:45:11 PST." <3A37EDE7.4E2A2F52@elischer.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
> John Baldwin wrote:
> > 
> > On 13-Dec-00 Bosko Milekic wrote:
> > > bmilekic    2000/12/12 21:13:03 PST
> > >
> > >   Modified files:
> > >     sys/sys              mbuf.h
> > >   Log:
> > >   Eliminate a race in MEXTFREE(). The reference counter decrement and test
> > >   was not atomic. We now make sure that we free the ext buf if the reference
> > >   count is about to reach 0 but also make sure that nobody else has done it
> > >   before us.
> > >
> > >   While I'm here, change refcnt to u_int (from long). This fixes a compiler
> > >   warning regarding use of atomic_cmpset_long on i386.
> > 
> > If you are using atomic_cmpset_long, then use u_long for the refcount instead
> > of u_int please.  Eitehr that, or use atomic_cmpset_int.
> 
> looking  at the alpha code it looks like possibly cmpset instructions have to be 
> synthesised on alpha and might be quite expensive..  what are the facts in 
> this regard?

All atomic operations must be synthesized on the alpha.  There are no
atomic operations, only locked load and conditional stored.  However,
these allow great flexibility in synthesizing more complex operations.
Being a risc architecture the number of instructions executed is generally
unimportant.

> 
> > 
> > --
> > 
> > John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
> > PGP Key: http://www.Baldwin.cx/~john/pgpkey.asc
> > "Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
> 
> -- 
>       __--_|\  Julian Elischer
>      /       \ julian@elischer.org
>     (   OZ    ) World tour 2000
> ---> X_.---._/  presently in:  Budapest
>             v
> 




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001213225220.9F480BA7D>