svn commit: r300154 - head/sys/net

Justin Hibbits chmeeedalf at gmail.com
Wed May 18 15:50:52 UTC 2016


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


More information about the svn-src-all mailing list