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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/os/ddifm.c
          +++ new/usr/src/uts/common/os/ddifm.c
↓ open down ↓ 447 lines elided ↑ open up ↑
 448  448  
 449  449          /* Post the ereport. */
 450  450          if (nva)
 451  451                  errorq_commit(fmhdl->fh_errorq, eqep, ERRORQ_ASYNC);
 452  452          else
 453  453                  fm_ereport_post(ereport, EVCH_SLEEP);
 454  454          goto out;
 455  455  
 456  456          /* Count errors as drops. */
 457  457  err:    if (fmhdl)
 458      -                atomic_add_64(&fmhdl->fh_kstat.fek_erpt_dropped.value.ui64, 1);
      458 +                atomic_inc_64(&fmhdl->fh_kstat.fek_erpt_dropped.value.ui64);
 459  459  
 460  460          /* Free up nvlists if normal interfaces were used to allocate memory */
 461  461  out:    if (ereport && (nva == NULL))
 462  462                  fm_nvlist_destroy(ereport, FM_NVA_FREE);
 463  463          if (detector && (nva == NULL))
 464  464                  fm_nvlist_destroy(detector, FM_NVA_FREE);
 465  465  }
 466  466  
 467  467  /*
 468  468   * Generate an error report for consumption by the Solaris Fault Manager,
↓ open down ↓ 543 lines elided ↑ open up ↑
1012 1012  i_ddi_fm_acc_err_set(ddi_acc_handle_t handle, uint64_t ena, int status,
1013 1013      int flag)
1014 1014  {
1015 1015          ddi_acc_hdl_t *hdlp = impl_acc_hdl_get(handle);
1016 1016          ddi_acc_impl_t *i_hdlp = (ddi_acc_impl_t *)handle;
1017 1017          struct i_ddi_fmhdl *fmhdl = DEVI(hdlp->ah_dip)->devi_fmhdl;
1018 1018  
1019 1019          i_hdlp->ahi_err->err_ena = ena;
1020 1020          i_hdlp->ahi_err->err_status = status;
1021 1021          i_hdlp->ahi_err->err_expected = flag;
1022      -        atomic_add_64(&fmhdl->fh_kstat.fek_acc_err.value.ui64, 1);
     1022 +        atomic_inc_64(&fmhdl->fh_kstat.fek_acc_err.value.ui64);
1023 1023  }
1024 1024  
1025 1025  void
1026 1026  i_ddi_fm_dma_err_set(ddi_dma_handle_t handle, uint64_t ena, int status,
1027 1027      int flag)
1028 1028  {
1029 1029          ddi_dma_impl_t *hdlp = (ddi_dma_impl_t *)handle;
1030 1030          struct i_ddi_fmhdl *fmhdl = DEVI(hdlp->dmai_rdip)->devi_fmhdl;
1031 1031  
1032 1032          hdlp->dmai_error.err_ena = ena;
1033 1033          hdlp->dmai_error.err_status = status;
1034 1034          hdlp->dmai_error.err_expected = flag;
1035      -        atomic_add_64(&fmhdl->fh_kstat.fek_dma_err.value.ui64, 1);
     1035 +        atomic_inc_64(&fmhdl->fh_kstat.fek_dma_err.value.ui64);
1036 1036  }
1037 1037  
1038 1038  ddi_fmcompare_t
1039 1039  i_ddi_fm_acc_err_cf_get(ddi_acc_handle_t handle)
1040 1040  {
1041 1041          ddi_acc_impl_t *i_hdlp = (ddi_acc_impl_t *)handle;
1042 1042  
1043 1043          return (i_hdlp->ahi_err->err_cf);
1044 1044  }
1045 1045  
1046 1046  ddi_fmcompare_t
1047 1047  i_ddi_fm_dma_err_cf_get(ddi_dma_handle_t handle)
1048 1048  {
1049 1049          ddi_dma_impl_t *hdlp = (ddi_dma_impl_t *)handle;
1050 1050  
1051 1051          return (hdlp->dmai_error.err_cf);
1052 1052  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX