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-head mailing list