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>