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

*** 174,184 **** "Another thread running(conn: %p)", conn); rdsv3_stats_inc(s_send_sem_contention); ret = -ENOMEM; goto out; } ! atomic_add_32(&conn->c_senders, 1); if (conn->c_trans->xmit_prepare) conn->c_trans->xmit_prepare(conn); /* --- 174,184 ---- "Another thread running(conn: %p)", conn); rdsv3_stats_inc(s_send_sem_contention); ret = -ENOMEM; goto out; } ! atomic_inc_32(&conn->c_senders); if (conn->c_trans->xmit_prepare) conn->c_trans->xmit_prepare(conn); /*
*** 565,584 **** mutex_enter(&conn->c_lock); RDSV3_FOR_EACH_LIST_NODE_SAFE(rm, tmp, &conn->c_retrans, m_conn_item) { if (rm->m_rdma_op == op) { ! atomic_add_32(&rm->m_refcount, 1); found = rm; goto out; } } RDSV3_FOR_EACH_LIST_NODE_SAFE(rm, tmp, &conn->c_send_queue, m_conn_item) { if (rm->m_rdma_op == op) { ! atomic_add_32(&rm->m_refcount, 1); found = rm; break; } } --- 565,584 ---- mutex_enter(&conn->c_lock); RDSV3_FOR_EACH_LIST_NODE_SAFE(rm, tmp, &conn->c_retrans, m_conn_item) { if (rm->m_rdma_op == op) { ! atomic_inc_32(&rm->m_refcount); found = rm; goto out; } } RDSV3_FOR_EACH_LIST_NODE_SAFE(rm, tmp, &conn->c_send_queue, m_conn_item) { if (rm->m_rdma_op == op) { ! atomic_inc_32(&rm->m_refcount); found = rm; break; } }