Date: Fri, 07 Dec 2018 11:10:01 -0700 From: Ian Lepore <ian@freebsd.org> To: Mateusz Guzik <mjg@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r341682 - head/sys/sys Message-ID: <1544206201.1860.288.camel@freebsd.org> In-Reply-To: <201812071205.wB7C5BvA038350@repo.freebsd.org> References: <201812071205.wB7C5BvA038350@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2018-12-07 at 12:05 +0000, Mateusz Guzik wrote: > Author: mjg > Date: Fri Dec 7 12:05:11 2018 > New Revision: 341682 > URL: https://svnweb.freebsd.org/changeset/base/341682 > > Log: > unr64: use locked variant if not __LP64__ > > The current ifdefs are not sufficient to distinguish 32- and 64- > bit > variants, which results e.g. in powerpc64 not using atomics. > > While some 32-bit archs provide 64-bit atomics, there is no huge > advantage > of using them on these platforms. > > Reported by: many > Suggested by: jhb > Sponsored by: The FreeBSD Foundation > > Modified: > head/sys/sys/systm.h > > Modified: head/sys/sys/systm.h > ===================================================================== > ========= > --- head/sys/sys/systm.h Fri Dec 7 12:02:31 2018 (r341 > 681) > +++ head/sys/sys/systm.h Fri Dec 7 12:05:11 2018 (r341 > 682) > @@ -523,7 +523,7 @@ int alloc_unr_specific(struct unrhdr *uh, u_int > item); > int alloc_unrl(struct unrhdr *uh); > void free_unr(struct unrhdr *uh, u_int item); > > -#if defined(__mips__) || defined(__powerpc__) > +#ifndef __LP64__ > #define UNR64_LOCKED > #endif > > This seems like a wholly unsatisfying solution compared to how trivial it would be to do something like have each arch's atomic.h set a symbol to indicate whether 64-bit atomics are available. Dismissing 32-bit arches because you don't perceive performance to be important there doesn't seem like a valid argument. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1544206201.1860.288.camel>