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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
          +++ new/usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
↓ open down ↓ 218 lines elided ↑ open up ↑
 219  219   */
 220  220  static inline void
 221  221  oce_rqb_free(struct oce_rq *rq, oce_rq_bdesc_t *rqbd)
 222  222  {
 223  223          uint32_t free_index;
 224  224          mutex_enter(&rq->rc_lock);
 225  225          free_index = rq->rqb_rc_head;
 226  226          rq->rqb_freelist[free_index] = rqbd;
 227  227          rq->rqb_rc_head = GET_Q_NEXT(free_index, 1, rq->cfg.nbufs);
 228  228          mutex_exit(&rq->rc_lock);
 229      -        atomic_add_32(&rq->rqb_free, 1);
      229 +        atomic_inc_32(&rq->rqb_free);
 230  230  } /* oce_rqb_free */
 231  231  
 232  232  
 233  233  
 234  234  
 235  235  static void oce_rq_post_buffer(struct oce_rq *rq, int nbufs)
 236  236  {
 237  237          pd_rxulp_db_t rxdb_reg;
 238  238          int count;
 239  239          struct oce_dev *dev =  rq->parent;
↓ open down ↓ 351 lines elided ↑ open up ↑
 591  591          rq = rqbd->rq;
 592  592          rqbd->mp = desballoc((uchar_t *)rqbd->rqb->base,
 593  593              rqbd->rqb->size, 0, &rqbd->fr_rtn);
 594  594  
 595  595          if (rqbd->mp) {
 596  596                  rqbd->mp->b_rptr =
 597  597                      (uchar_t *)rqbd->rqb->base + OCE_RQE_BUF_HEADROOM;
 598  598          }
 599  599  
 600  600          oce_rqb_free(rq, rqbd);
 601      -        (void) atomic_add_32(&rq->pending, -1);
      601 +        (void) atomic_dec_32(&rq->pending);
 602  602  } /* rx_pool_free */
 603  603  
 604  604  /*
 605  605   * function to stop the RX
 606  606   *
 607  607   * rq - pointer to RQ structure
 608  608   *
 609  609   * return none
 610  610   */
 611  611  void
↓ open down ↓ 71 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX