svn commit: r300154 - head/sys/net
Nathan Whitehorn
nwhitehorn at freebsd.org
Wed May 18 17:26:23 UTC 2016
On 05/18/16 08:50, Justin Hibbits wrote:
> On Wed, 18 May 2016 15:45:12 +0000 (UTC)
> Scott Long <scottl at FreeBSD.org> wrote:
>
>> Author: scottl
>> Date: Wed May 18 15:45:12 2016
>> New Revision: 300154
>> URL: https://svnweb.freebsd.org/changeset/base/300154
>>
>> Log:
>> Activate the NO_64BIT_ATOMICS code for mips and powerpc
>>
>> Modified:
>> head/sys/net/mp_ring.c
>>
>> Modified: head/sys/net/mp_ring.c
>> ==============================================================================
>> --- head/sys/net/mp_ring.c Wed May 18 15:44:45 2016
>> (r300153) +++ head/sys/net/mp_ring.c Wed May 18 15:45:12
>> 2016 (r300154) @@ -37,15 +37,17 @@ __FBSDID("$FreeBSD$");
>> #include <sys/malloc.h>
>> #include <machine/cpu.h>
>>
>> -
>> -
>> -#include <net/mp_ring.h>
>> +#if defined(__powerpc__) || defined(__mips__)
>> +#define NO_64BIT_ATOMICS
>> +#endif
>>
>> #if defined(__i386__)
>> #define atomic_cmpset_acq_64 atomic_cmpset_64
>> #define atomic_cmpset_rel_64 atomic_cmpset_64
>> #endif
>>
>> +#include <net/mp_ring.h>
>> +
>> union ring_state {
>> struct {
>> uint16_t pidx_head;
>>
> powerpc64 defines both __powerpc__ and __powerpc64__, so you're killing
> atomics on powerpc64 with this.
>
> - Justin
>
Don't all of our 64-bit platforms have 64-bit atomics? So you could just
#if defined(__LP64__) || defined(__i386__) ||
defined(__whatever_the_thing_is_for_mips_n32__)
-Nathan
More information about the svn-src-all
mailing list