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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/sun4u/cpu/us3_common.c
          +++ new/usr/src/uts/sun4u/cpu/us3_common.c
↓ open down ↓ 5634 lines elided ↑ open up ↑
5635 5635   * a self trap.
5636 5636   */
5637 5637  static void
5638 5638  do_scrub(struct scrub_info *csi)
5639 5639  {
5640 5640          ch_scrub_misc_t *csmp = CPU_PRIVATE_PTR(CPU, chpr_scrub_misc);
5641 5641          int index = csi->csi_index;
5642 5642          uint32_t *outstanding = &csmp->chsm_outstanding[index];
5643 5643  
5644 5644          if (*(csi->csi_enable) && (csmp->chsm_enable[index])) {
5645      -                if (atomic_add_32_nv(outstanding, 1) == 1) {
     5645 +                if (atomic_inc_32_nv(outstanding) == 1) {
5646 5646                          xt_one_unchecked(CPU->cpu_id, setsoftint_tl1,
5647 5647                              csi->csi_inum, 0);
5648 5648                  }
5649 5649          }
5650 5650  }
5651 5651  
5652 5652  /*
5653 5653   * Omni cyclics don't fire on offline cpus, so we use another cyclic to
5654 5654   * cross-trap the offline cpus.
5655 5655   */
↓ open down ↓ 1641 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX