arch: Mass conversion of smp_mb__*()
Mostly scripted conversion of the smp_mb__* barriers. Signed-off-by: Peter Zijlstra <peterz@infradead.org> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Link: http://lkml.kernel.org/n/tip-55dhyhocezdw1dg7u19hmh1u@git.kernel.org Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: linux-arch@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:

committed by
Ingo Molnar

parent
1b15611e1c
commit
4e857c58ef
@@ -2781,7 +2781,7 @@ int bnx2x_nic_load(struct bnx2x *bp, int load_mode)
|
||||
|
||||
case LOAD_OPEN:
|
||||
netif_tx_start_all_queues(bp->dev);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
break;
|
||||
|
||||
case LOAD_DIAG:
|
||||
@@ -4939,9 +4939,9 @@ void bnx2x_update_coalesce_sb_index(struct bnx2x *bp, u8 fw_sb_id,
|
||||
void bnx2x_schedule_sp_rtnl(struct bnx2x *bp, enum sp_rtnl_flag flag,
|
||||
u32 verbose)
|
||||
{
|
||||
smp_mb__before_clear_bit();
|
||||
smp_mb__before_atomic();
|
||||
set_bit(flag, &bp->sp_rtnl_state);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
DP((BNX2X_MSG_SP | verbose), "Scheduling sp_rtnl task [Flag: %d]\n",
|
||||
flag);
|
||||
schedule_delayed_work(&bp->sp_rtnl_task, 0);
|
||||
|
@@ -1858,10 +1858,10 @@ void bnx2x_sp_event(struct bnx2x_fastpath *fp, union eth_rx_cqe *rr_cqe)
|
||||
return;
|
||||
#endif
|
||||
|
||||
smp_mb__before_atomic_inc();
|
||||
smp_mb__before_atomic();
|
||||
atomic_inc(&bp->cq_spq_left);
|
||||
/* push the change in bp->spq_left and towards the memory */
|
||||
smp_mb__after_atomic_inc();
|
||||
smp_mb__after_atomic();
|
||||
|
||||
DP(BNX2X_MSG_SP, "bp->cq_spq_left %x\n", atomic_read(&bp->cq_spq_left));
|
||||
|
||||
@@ -1876,11 +1876,11 @@ void bnx2x_sp_event(struct bnx2x_fastpath *fp, union eth_rx_cqe *rr_cqe)
|
||||
* sp_state is cleared, and this order prevents
|
||||
* races
|
||||
*/
|
||||
smp_mb__before_clear_bit();
|
||||
smp_mb__before_atomic();
|
||||
set_bit(BNX2X_AFEX_PENDING_VIFSET_MCP_ACK, &bp->sp_state);
|
||||
wmb();
|
||||
clear_bit(BNX2X_AFEX_FCOE_Q_UPDATE_PENDING, &bp->sp_state);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
|
||||
/* schedule the sp task as mcp ack is required */
|
||||
bnx2x_schedule_sp_task(bp);
|
||||
@@ -5272,9 +5272,9 @@ static void bnx2x_after_function_update(struct bnx2x *bp)
|
||||
__clear_bit(RAMROD_COMP_WAIT, &queue_params.ramrod_flags);
|
||||
|
||||
/* mark latest Q bit */
|
||||
smp_mb__before_clear_bit();
|
||||
smp_mb__before_atomic();
|
||||
set_bit(BNX2X_AFEX_FCOE_Q_UPDATE_PENDING, &bp->sp_state);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
|
||||
/* send Q update ramrod for FCoE Q */
|
||||
rc = bnx2x_queue_state_change(bp, &queue_params);
|
||||
@@ -5500,7 +5500,7 @@ next_spqe:
|
||||
spqe_cnt++;
|
||||
} /* for */
|
||||
|
||||
smp_mb__before_atomic_inc();
|
||||
smp_mb__before_atomic();
|
||||
atomic_add(spqe_cnt, &bp->eq_spq_left);
|
||||
|
||||
bp->eq_cons = sw_cons;
|
||||
@@ -13869,9 +13869,9 @@ static int bnx2x_drv_ctl(struct net_device *dev, struct drv_ctl_info *ctl)
|
||||
case DRV_CTL_RET_L2_SPQ_CREDIT_CMD: {
|
||||
int count = ctl->data.credit.credit_count;
|
||||
|
||||
smp_mb__before_atomic_inc();
|
||||
smp_mb__before_atomic();
|
||||
atomic_add(count, &bp->cq_spq_left);
|
||||
smp_mb__after_atomic_inc();
|
||||
smp_mb__after_atomic();
|
||||
break;
|
||||
}
|
||||
case DRV_CTL_ULP_REGISTER_CMD: {
|
||||
|
@@ -258,16 +258,16 @@ static bool bnx2x_raw_check_pending(struct bnx2x_raw_obj *o)
|
||||
|
||||
static void bnx2x_raw_clear_pending(struct bnx2x_raw_obj *o)
|
||||
{
|
||||
smp_mb__before_clear_bit();
|
||||
smp_mb__before_atomic();
|
||||
clear_bit(o->state, o->pstate);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
}
|
||||
|
||||
static void bnx2x_raw_set_pending(struct bnx2x_raw_obj *o)
|
||||
{
|
||||
smp_mb__before_clear_bit();
|
||||
smp_mb__before_atomic();
|
||||
set_bit(o->state, o->pstate);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2131,7 +2131,7 @@ static int bnx2x_set_rx_mode_e1x(struct bnx2x *bp,
|
||||
|
||||
/* The operation is completed */
|
||||
clear_bit(p->state, p->pstate);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -3576,16 +3576,16 @@ error_exit1:
|
||||
|
||||
static void bnx2x_mcast_clear_sched(struct bnx2x_mcast_obj *o)
|
||||
{
|
||||
smp_mb__before_clear_bit();
|
||||
smp_mb__before_atomic();
|
||||
clear_bit(o->sched_state, o->raw.pstate);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
}
|
||||
|
||||
static void bnx2x_mcast_set_sched(struct bnx2x_mcast_obj *o)
|
||||
{
|
||||
smp_mb__before_clear_bit();
|
||||
smp_mb__before_atomic();
|
||||
set_bit(o->sched_state, o->raw.pstate);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
}
|
||||
|
||||
static bool bnx2x_mcast_check_sched(struct bnx2x_mcast_obj *o)
|
||||
@@ -4200,7 +4200,7 @@ int bnx2x_queue_state_change(struct bnx2x *bp,
|
||||
if (rc) {
|
||||
o->next_state = BNX2X_Q_STATE_MAX;
|
||||
clear_bit(pending_bit, pending);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -4288,7 +4288,7 @@ static int bnx2x_queue_comp_cmd(struct bnx2x *bp,
|
||||
wmb();
|
||||
|
||||
clear_bit(cmd, &o->pending);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -5279,7 +5279,7 @@ static inline int bnx2x_func_state_change_comp(struct bnx2x *bp,
|
||||
wmb();
|
||||
|
||||
clear_bit(cmd, &o->pending);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -5926,7 +5926,7 @@ int bnx2x_func_state_change(struct bnx2x *bp,
|
||||
if (rc) {
|
||||
o->next_state = BNX2X_F_STATE_MAX;
|
||||
clear_bit(cmd, pending);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
@@ -1626,9 +1626,9 @@ static
|
||||
void bnx2x_vf_handle_filters_eqe(struct bnx2x *bp,
|
||||
struct bnx2x_virtf *vf)
|
||||
{
|
||||
smp_mb__before_clear_bit();
|
||||
smp_mb__before_atomic();
|
||||
clear_bit(BNX2X_FILTER_RX_MODE_PENDING, &vf->filter_state);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
}
|
||||
|
||||
static void bnx2x_vf_handle_rss_update_eqe(struct bnx2x *bp,
|
||||
@@ -2960,9 +2960,9 @@ void bnx2x_iov_task(struct work_struct *work)
|
||||
|
||||
void bnx2x_schedule_iov_task(struct bnx2x *bp, enum bnx2x_iov_flag flag)
|
||||
{
|
||||
smp_mb__before_clear_bit();
|
||||
smp_mb__before_atomic();
|
||||
set_bit(flag, &bp->iov_task_state);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
DP(BNX2X_MSG_IOV, "Scheduling iov task [Flag: %d]\n", flag);
|
||||
queue_delayed_work(bnx2x_iov_wq, &bp->iov_task, 0);
|
||||
}
|
||||
|
@@ -436,7 +436,7 @@ static int cnic_offld_prep(struct cnic_sock *csk)
|
||||
static int cnic_close_prep(struct cnic_sock *csk)
|
||||
{
|
||||
clear_bit(SK_F_CONNECT_START, &csk->flags);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
|
||||
if (test_and_clear_bit(SK_F_OFFLD_COMPLETE, &csk->flags)) {
|
||||
while (test_and_set_bit(SK_F_OFFLD_SCHED, &csk->flags))
|
||||
@@ -450,7 +450,7 @@ static int cnic_close_prep(struct cnic_sock *csk)
|
||||
static int cnic_abort_prep(struct cnic_sock *csk)
|
||||
{
|
||||
clear_bit(SK_F_CONNECT_START, &csk->flags);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
|
||||
while (test_and_set_bit(SK_F_OFFLD_SCHED, &csk->flags))
|
||||
msleep(1);
|
||||
@@ -3646,7 +3646,7 @@ static int cnic_cm_destroy(struct cnic_sock *csk)
|
||||
|
||||
csk_hold(csk);
|
||||
clear_bit(SK_F_INUSE, &csk->flags);
|
||||
smp_mb__after_clear_bit();
|
||||
smp_mb__after_atomic();
|
||||
while (atomic_read(&csk->ref_count) != 1)
|
||||
msleep(1);
|
||||
cnic_cm_cleanup(csk);
|
||||
@@ -4026,7 +4026,7 @@ static void cnic_cm_process_kcqe(struct cnic_dev *dev, struct kcqe *kcqe)
|
||||
L4_KCQE_COMPLETION_STATUS_PARITY_ERROR)
|
||||
set_bit(SK_F_HW_ERR, &csk->flags);
|
||||
|
||||
smp_mb__before_clear_bit();
|
||||
smp_mb__before_atomic();
|
||||
clear_bit(SK_F_OFFLD_SCHED, &csk->flags);
|
||||
cnic_cm_upcall(cp, csk, opcode);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user