Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Dec 2000 15:22:40 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Julian Elischer <julian@elischer.org>
Cc:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org, Bosko Milekic <bmilekic@FreeBSD.org>
Subject:   Re: cvs commit: src/sys/sys mbuf.h
Message-ID:  <XFMail.001213152240.jhb@FreeBSD.org>
In-Reply-To: <3A37EDE7.4E2A2F52@elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 13-Dec-00 Julian Elischer wrote:
> 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?

Most of the atomic ops are synthesized on the alpha.  However, they are used to
build the mutexes, so they can't be any slower than a mutex is...

-- 

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/


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?XFMail.001213152240.jhb>