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

*** 224,234 **** mutex_enter(&rq->rc_lock); free_index = rq->rqb_rc_head; rq->rqb_freelist[free_index] = rqbd; rq->rqb_rc_head = GET_Q_NEXT(free_index, 1, rq->cfg.nbufs); mutex_exit(&rq->rc_lock); ! atomic_add_32(&rq->rqb_free, 1); } /* oce_rqb_free */ --- 224,234 ---- mutex_enter(&rq->rc_lock); free_index = rq->rqb_rc_head; rq->rqb_freelist[free_index] = rqbd; rq->rqb_rc_head = GET_Q_NEXT(free_index, 1, rq->cfg.nbufs); mutex_exit(&rq->rc_lock); ! atomic_inc_32(&rq->rqb_free); } /* oce_rqb_free */
*** 596,606 **** rqbd->mp->b_rptr = (uchar_t *)rqbd->rqb->base + OCE_RQE_BUF_HEADROOM; } oce_rqb_free(rq, rqbd); ! (void) atomic_add_32(&rq->pending, -1); } /* rx_pool_free */ /* * function to stop the RX * --- 596,606 ---- rqbd->mp->b_rptr = (uchar_t *)rqbd->rqb->base + OCE_RQE_BUF_HEADROOM; } oce_rqb_free(rq, rqbd); ! (void) atomic_dec_32(&rq->pending); } /* rx_pool_free */ /* * function to stop the RX *