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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/sparc/fpu/fpu_simulator.c
          +++ new/usr/src/uts/sparc/fpu/fpu_simulator.c
↓ open down ↓ 34 lines elided ↑ open up ↑
  35   35  #include <sys/cpuvar.h>
  36   36  #include <sys/cmn_err.h>
  37   37  #include <sys/atomic.h>
  38   38  #include <sys/privregs.h>
  39   39  #include <sys/vis_simulator.h>
  40   40  
  41   41  #define FPUINFO_KSTAT(opcode)   {                                       \
  42   42          extern void __dtrace_probe___fpuinfo_##opcode(uint64_t *);      \
  43   43          uint64_t *stataddr = &fpuinfo.opcode.value.ui64;                \
  44   44          __dtrace_probe___fpuinfo_##opcode(stataddr);                    \
  45      -        atomic_add_64(&fpuinfo.opcode.value.ui64, 1);                   \
       45 +        atomic_inc_64(&fpuinfo.opcode.value.ui64);                      \
  46   46  }
  47   47  
  48   48  #define FPUINFO_KSTAT_PREC(prec, kstat_s, kstat_d, kstat_q)             \
  49   49          if (prec < 2) {                                                 \
  50   50                  FPUINFO_KSTAT(kstat_s);                                 \
  51   51          } else if (prec == 2) {                                         \
  52   52                  FPUINFO_KSTAT(kstat_d);                                 \
  53   53          } else {                                                        \
  54   54                  FPUINFO_KSTAT(kstat_q);                                 \
  55   55          }
↓ open down ↓ 728 lines elided ↑ open up ↑
 784  784                  kstat_install(visinfo_kstat);
 785  785          }
 786  786  }
 787  787  
 788  788  void
 789  789  fp_kstat_update(enum ftt_type ftt)
 790  790  {
 791  791          ASSERT((ftt == ftt_ieee) || (ftt == ftt_unfinished) ||
 792  792              (ftt == ftt_unimplemented));
 793  793          if (ftt == ftt_ieee)
 794      -                atomic_add_64(&fpustat.fpu_ieee_traps.value.ui64, 1);
      794 +                atomic_inc_64(&fpustat.fpu_ieee_traps.value.ui64);
 795  795          else if (ftt == ftt_unfinished)
 796      -                atomic_add_64(&fpustat.fpu_unfinished_traps.value.ui64, 1);
      796 +                atomic_inc_64(&fpustat.fpu_unfinished_traps.value.ui64);
 797  797          else if (ftt == ftt_unimplemented)
 798      -                atomic_add_64(&fpustat.fpu_unimplemented_traps.value.ui64, 1);
      798 +                atomic_inc_64(&fpustat.fpu_unimplemented_traps.value.ui64);
 799  799  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX