Print this page
5045 use atomic_{inc,dec}_* instead of atomic_add_*
@@ -712,12 +712,11 @@
}
if ((kpd->kp_flags & KPD_HASAMP) == 0) {
anon_free(kpd->kp_anon, kpd->kp_anon_idx + i,
PAGESIZE);
anon_unresv_zone(PAGESIZE, NULL);
- atomic_add_long(&anon_segkp_pages_resv,
- -1);
+ atomic_dec_ulong(&anon_segkp_pages_resv);
}
TRACE_5(TR_FAC_VM,
TR_ANON_SEGKP, "anon segkp:%p %p %lu %u %u",
kpd, va, PAGESIZE, 0, 0);
} else {
@@ -836,22 +835,22 @@
* The page is left SE_SHARED locked so we can hold on to
* the page_t pointer.
*/
curthread->t_red_pp = red_pp;
- atomic_add_32(&red_nmapped, 1);
+ atomic_inc_32(&red_nmapped);
while (fp - (uintptr_t)curthread->t_stkbase < red_closest) {
(void) atomic_cas_32(&red_closest, red_closest,
(uint32_t)(fp - (uintptr_t)curthread->t_stkbase));
}
return (1);
}
stkbase = (caddr_t)(((uintptr_t)curthread->t_stkbase &
(uintptr_t)PAGEMASK) - PAGESIZE);
- atomic_add_32(&red_ndoubles, 1);
+ atomic_inc_32(&red_ndoubles);
if (fp - (uintptr_t)stkbase < RED_DEEP_THRESHOLD) {
/*
* Oh boy. We're already deep within the mapped-in
* redzone page, and the caller is trying to prepare
@@ -1435,20 +1434,20 @@
/*ARGSUSED*/
static int
segkp_mem_config_pre_del(void *arg, pgcnt_t delta_pages)
{
- atomic_add_32(&segkp_indel, 1);
+ atomic_inc_32(&segkp_indel);
segkp_cache_free();
return (0);
}
/*ARGSUSED*/
static void
segkp_mem_config_post_del(void *arg, pgcnt_t delta_pages, int cancelled)
{
- atomic_add_32(&segkp_indel, -1);
+ atomic_dec_32(&segkp_indel);
}
static kphysm_setup_vector_t segkp_mem_config_vec = {
KPHYSM_SETUP_VECTOR_VERSION,
segkp_mem_config_post_add,