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)
*