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

@@ -273,19 +273,19 @@
 }
 
 static void
 element_node_ref(element_node_t *element)
 {
-        atomic_add_32(&element->element_refcnt, 1);
+        atomic_inc_32(&element->element_refcnt);
         ASSERT(element->element_refcnt > 1);
 }
 
 static void
 element_node_unref(element_node_t *element)
 {
         ASSERT(element->element_refcnt > 0);
-        if (atomic_add_32_nv(&element->element_refcnt, -1) == 0) {
+        if (atomic_dec_32_nv(&element->element_refcnt) == 0) {
                 kmem_cache_free(element_node_cache, element);
         }
 }
 
 /* ARGSUSED1 */

@@ -1134,11 +1134,11 @@
                 (void) ipgpc_list_insert(&ipgpc_cid_list[class_id].filter_list,
                     filter_id);
                 mutex_exit(&ipgpc_cid_list_lock);
         }
         mutex_exit(&ipgpc_fid_list_lock);
-        atomic_add_long(&ipgpc_num_fltrs, 1);
+        atomic_inc_ulong(&ipgpc_num_fltrs);
         ipgpc3dbg(("ipgpc_addfilter: adding filter %s", filter->filter_name));
         return (0);
 }
 
 /*

@@ -1152,16 +1152,16 @@
 reset_dontcare_stats(void)
 {
         int i;
 
         for (i = 0; i < NUM_TRIES; ++i) {
-                atomic_add_32(&ipgpc_trie_list[i].stats.num_dontcare, -1);
+                atomic_dec_32(&ipgpc_trie_list[i].stats.num_dontcare);
         }
         for (i = 0; i < NUM_TABLES; ++i) {
-                atomic_add_32(&ipgpc_table_list[i].stats.num_dontcare, -1);
+                atomic_dec_32(&ipgpc_table_list[i].stats.num_dontcare);
         }
-        atomic_add_32(&ipgpc_ds_table_id.stats.num_dontcare, -1);
+        atomic_dec_32(&ipgpc_ds_table_id.stats.num_dontcare);
 }
 
 /*
  * ipgpc_parse_class(out_class, nvlp)
  *

@@ -1355,11 +1355,11 @@
                 ipgpc3dbg(("insertcid: adding class %s",
                     in_class->class_name));
                 bcopy(in_class->class_name,
                     ipgpc_cid_list[class_id].aclass.class_name, MAXNAMELEN);
                 ipgpc_cid_list[class_id].filter_list = NULL;
-                atomic_add_long(&ipgpc_num_cls, 1);
+                atomic_inc_ulong(&ipgpc_num_cls);
         } else {
                 ipgpc0dbg(("insertcid: class name lookup error %d", err));
                 mutex_exit(&ipgpc_cid_list_lock);
                 return (err);
         }

@@ -1502,11 +1502,11 @@
         ipgpc_filter_destructor(&ipgpc_fid_list[filter_id].filter);
         mutex_exit(&ipgpc_fid_list_lock);
         /* remove filter id from class' list of filters */
         remove_from_cid_filter_list(ipgpc_fid_list[filter_id].class_id,
             filter_id);
-        atomic_add_long(&ipgpc_num_fltrs, -1);
+        atomic_dec_ulong(&ipgpc_num_fltrs);
         return (0);
 }
 
 /*
  * removecid(in_class_id)

@@ -1523,11 +1523,11 @@
         if (ipgpc_cid_list[in_class_id].cl_stats != NULL) {
                 ipp_stat_destroy(ipgpc_cid_list[in_class_id].cl_stats);
                 ipgpc_cid_list[in_class_id].cl_stats = NULL;
         }
         /* decrement total number of classes loaded */
-        atomic_add_long(&ipgpc_num_cls, -1);
+        atomic_dec_ulong(&ipgpc_num_cls);
 }
 
 /*
  * remove_from_cid_filter_list(in_class_id, in_filter_id)
  *