Print this page
5045 use atomic_{inc,dec}_* instead of atomic_add_*

@@ -296,17 +296,17 @@
                 ipa_pad:19;
         uint32_t                ipa_ovhd;       /* per-packet encap ovhd */
 } ipsec_action_t;
 
 #define IPACT_REFHOLD(ipa) {                    \
-        atomic_add_32(&(ipa)->ipa_refs, 1);     \
+        atomic_inc_32(&(ipa)->ipa_refs);        \
         ASSERT((ipa)->ipa_refs != 0);   \
 }
 #define IPACT_REFRELE(ipa) {                                    \
         ASSERT((ipa)->ipa_refs != 0);                           \
         membar_exit();                                          \
-        if (atomic_add_32_nv(&(ipa)->ipa_refs, -1) == 0)        \
+        if (atomic_dec_32_nv(&(ipa)->ipa_refs) == 0)    \
                 ipsec_action_free(ipa);                         \
         (ipa) = 0;                                              \
 }
 
 /*

@@ -412,17 +412,17 @@
         ipsec_action_t          *ipsp_act;      /* action (may be shared) */
         netstack_t              *ipsp_netstack; /* No netstack_hold */
 };
 
 #define IPPOL_REFHOLD(ipp) {                    \
-        atomic_add_32(&(ipp)->ipsp_refs, 1);    \
+        atomic_inc_32(&(ipp)->ipsp_refs);       \
         ASSERT((ipp)->ipsp_refs != 0);          \
 }
 #define IPPOL_REFRELE(ipp) {                                    \
         ASSERT((ipp)->ipsp_refs != 0);                          \
         membar_exit();                                          \
-        if (atomic_add_32_nv(&(ipp)->ipsp_refs, -1) == 0)       \
+        if (atomic_dec_32_nv(&(ipp)->ipsp_refs) == 0)   \
                 ipsec_policy_free(ipp);                         \
         (ipp) = 0;                                              \
 }
 
 #define IPPOL_UNCHAIN(php, ip)                                  \

@@ -459,17 +459,17 @@
         ipsec_policy_root_t iph_root[IPSEC_NTYPES];
         avl_tree_t      iph_rulebyid;
 } ipsec_policy_head_t;
 
 #define IPPH_REFHOLD(iph) {                     \
-        atomic_add_32(&(iph)->iph_refs, 1);     \
+        atomic_inc_32(&(iph)->iph_refs);        \
         ASSERT((iph)->iph_refs != 0);           \
 }
 #define IPPH_REFRELE(iph, ns) {                                 \
         ASSERT((iph)->iph_refs != 0);                           \
         membar_exit();                                          \
-        if (atomic_add_32_nv(&(iph)->iph_refs, -1) == 0)        \
+        if (atomic_dec_32_nv(&(iph)->iph_refs) == 0)    \
                 ipsec_polhead_free(iph, ns);                    \
         (iph) = 0;                                              \
 }
 
 /*

@@ -546,18 +546,18 @@
 #define ITP_P_ISPERPORT(itp, iph) ((itp)->itp_flags & \
         (((itp)->itp_policy == (iph)) ? ITPF_P_PER_PORT_SECURITY : \
         ITPF_I_PER_PORT_SECURITY))
 
 #define ITP_REFHOLD(itp) { \
-        atomic_add_32(&((itp)->itp_refcnt), 1); \
+        atomic_inc_32(&((itp)->itp_refcnt));    \
         ASSERT((itp)->itp_refcnt != 0); \
 }
 
 #define ITP_REFRELE(itp, ns) { \
         ASSERT((itp)->itp_refcnt != 0); \
         membar_exit(); \
-        if (atomic_add_32_nv(&((itp)->itp_refcnt), -1) == 0) \
+        if (atomic_dec_32_nv(&((itp)->itp_refcnt)) == 0) \
                 itp_free(itp, ns); \
 }
 
 /*
  * Certificate identity.

@@ -575,22 +575,22 @@
 /*
  * ipsid_t reference hold/release macros, just like ipsa versions.
  */
 
 #define IPSID_REFHOLD(ipsid) {                  \
-        atomic_add_32(&(ipsid)->ipsid_refcnt, 1);       \
+        atomic_inc_32(&(ipsid)->ipsid_refcnt);  \
         ASSERT((ipsid)->ipsid_refcnt != 0);     \
 }
 
 /*
  * Decrement the reference count on the ID.  Someone else will clean up
  * after us later.
  */
 
 #define IPSID_REFRELE(ipsid) {                                  \
         membar_exit();                                          \
-        atomic_add_32(&(ipsid)->ipsid_refcnt, -1);              \
+        atomic_dec_32(&(ipsid)->ipsid_refcnt);          \
 }
 
 /*
  * Following are the estimates of what the maximum AH and ESP header size
  * would be. This is used to tell the upper layer the right value of MSS