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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/os/tlabel.c
          +++ new/usr/src/uts/common/os/tlabel.c
↓ open down ↓ 113 lines elided ↑ open up ↑
 114  114          }
 115  115          return (lab);
 116  116  }
 117  117  
 118  118  /*
 119  119   * Put a hold on a label structure.
 120  120   */
 121  121  void
 122  122  label_hold(ts_label_t *lab)
 123  123  {
 124      -        atomic_add_32(&lab->tsl_ref, 1);
      124 +        atomic_inc_32(&lab->tsl_ref);
 125  125  }
 126  126  
 127  127  /*
 128  128   * Release previous hold on a label structure.  Free it if refcnt == 0.
 129  129   */
 130  130  void
 131  131  label_rele(ts_label_t *lab)
 132  132  {
 133      -        if (atomic_add_32_nv(&lab->tsl_ref, -1) == 0)
      133 +        if (atomic_dec_32_nv(&lab->tsl_ref) == 0)
 134  134                  kmem_cache_free(tslabel_cache, lab);
 135  135  }
 136  136  
 137  137  bslabel_t *
 138  138  label2bslabel(ts_label_t *lab)
 139  139  {
 140  140          return (&lab->tsl_label);
 141  141  }
 142  142  
 143  143  
↓ open down ↓ 455 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX