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,