Print this page
5045 use atomic_{inc,dec}_* instead of atomic_add_*
@@ -238,22 +238,22 @@
# define IPF_IS_LOOPBACK(f) ((f) & FI_NOCKSUM)
# endif /* SOLARIS2 >= 10 */
# if SOLARIS2 >= 6
# if SOLARIS2 == 6
-# define ATOMIC_INCL(x) atomic_add_long((uint32_t*)&(x), 1)
-# define ATOMIC_DECL(x) atomic_add_long((uint32_t*)&(x), -1)
+# define ATOMIC_INCL(x) atomic_inc_ulong((uint32_t *)&(x))
+# define ATOMIC_DECL(x) atomic_dec_ulong((uint32_t *)&(x))
# else
-# define ATOMIC_INCL(x) atomic_add_long(&(x), 1)
-# define ATOMIC_DECL(x) atomic_add_long(&(x), -1)
+# define ATOMIC_INCL(x) atomic_inc_ulong(&(x))
+# define ATOMIC_DECL(x) atomic_dec_ulong(&(x))
# endif /* SOLARIS2 == 6 */
-# define ATOMIC_INC64(x) atomic_add_64((uint64_t*)&(x), 1)
-# define ATOMIC_INC32(x) atomic_add_32((uint32_t*)&(x), 1)
-# define ATOMIC_INC16(x) atomic_add_16((uint16_t*)&(x), 1)
-# define ATOMIC_DEC64(x) atomic_add_64((uint64_t*)&(x), -1)
-# define ATOMIC_DEC32(x) atomic_add_32((uint32_t*)&(x), -1)
-# define ATOMIC_DEC16(x) atomic_add_16((uint16_t*)&(x), -1)
+# define ATOMIC_INC64(x) atomic_inc_64((uint64_t *)&(x))
+# define ATOMIC_INC32(x) atomic_inc_32((uint32_t *)&(x))
+# define ATOMIC_INC16(x) atomic_inc_16((uint16_t *)&(x))
+# define ATOMIC_DEC64(x) atomic_dec_64((uint64_t *)&(x))
+# define ATOMIC_DEC32(x) atomic_dec_32((uint32_t *)&(x))
+# define ATOMIC_DEC16(x) atomic_dec_16((uint16_t *)&(x))
# else
# define ATOMIC_INC(x) { mutex_enter(&ipf_rw); (x)++; \
mutex_exit(&ipf_rw); }
# define ATOMIC_DEC(x) { mutex_enter(&ipf_rw); (x)--; \
mutex_exit(&ipf_rw); }
@@ -923,18 +923,18 @@
# include <machine/atomic.h>
# define ATOMIC_INC(x) { mtx_lock(&ipf_rw.ipf_lk); (x)++; \
mtx_unlock(&ipf_rw.ipf_lk); }
# define ATOMIC_DEC(x) { mtx_lock(&ipf_rw.ipf_lk); (x)--; \
mtx_unlock(&ipf_rw.ipf_lk); }
-# define ATOMIC_INCL(x) atomic_add_long(&(x), 1)
+# define ATOMIC_INCL(x) atomic_inc_ulong(&(x))
# define ATOMIC_INC64(x) ATOMIC_INC(x)
-# define ATOMIC_INC32(x) atomic_add_32(&(x), 1)
-# define ATOMIC_INC16(x) atomic_add_16(&(x), 1)
-# define ATOMIC_DECL(x) atomic_add_long(&(x), -1)
+# define ATOMIC_INC32(x) atomic_inc_32(&(x))
+# define ATOMIC_INC16(x) atomic_inc_16(&(x))
+# define ATOMIC_DECL(x) atomic_dec_ulong(&(x))
# define ATOMIC_DEC64(x) ATOMIC_DEC(x)
-# define ATOMIC_DEC32(x) atomic_add_32(&(x), -1)
-# define ATOMIC_DEC16(x) atomic_add_16(&(x), -1)
+# define ATOMIC_DEC32(x) atomic_dec_32(&(x))
+# define ATOMIC_DEC16(x) atomic_dec_16(&(x))
# define SPL_X(x) ;
# define SPL_NET(x) ;
# define SPL_IMP(x) ;
extern int in_cksum __P((struct mbuf *, int));
# endif /* __FreeBSD_version >= 500043 */