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

*** 127,137 **** goto out; } recv->r_ibinc = kmem_cache_alloc(rdsv3_ib_incoming_slab, KM_NOSLEEP); if (recv->r_ibinc == NULL) { ! atomic_add_32(&rdsv3_ib_allocation, -1); goto out; } rdsv3_inc_init(&recv->r_ibinc->ii_inc, conn, conn->c_faddr); recv->r_ibinc->ii_ibdev = ic->rds_ibdev; recv->r_ibinc->ii_pool = ic->rds_ibdev->inc_pool; --- 127,137 ---- goto out; } recv->r_ibinc = kmem_cache_alloc(rdsv3_ib_incoming_slab, KM_NOSLEEP); if (recv->r_ibinc == NULL) { ! atomic_dec_32(&rdsv3_ib_allocation); goto out; } rdsv3_inc_init(&recv->r_ibinc->ii_inc, conn, conn->c_faddr); recv->r_ibinc->ii_ibdev = ic->rds_ibdev; recv->r_ibinc->ii_pool = ic->rds_ibdev->inc_pool;
*** 152,162 **** return (0); out: if (recv->r_ibinc) { kmem_cache_free(rdsv3_ib_incoming_slab, recv->r_ibinc); ! atomic_add_32(&rdsv3_ib_allocation, -1); recv->r_ibinc = NULL; } return (-ENOMEM); } --- 152,162 ---- return (0); out: if (recv->r_ibinc) { kmem_cache_free(rdsv3_ib_incoming_slab, recv->r_ibinc); ! atomic_dec_32(&rdsv3_ib_allocation); recv->r_ibinc = NULL; } return (-ENOMEM); }