Commit 2dc33bbc authored by Yuval Mintz's avatar Yuval Mintz Committed by David S. Miller
Browse files

bnx2x: Remove the sriov VFOP mechanism



Since we now posses a workqueue dedicated for sriov, the paradigm that sriov-
related tasks cannot sleep is no longer correct.

The VFOP mechanism was the one previously supporting said paradigm - the sriov
related tasks were broken into segments which did not require sleep, and the
mechanism re-scheduled the next segment whenever possible.

This patch remvoes the VFOP mechanism altogether - the resulting code is a much
easier to follow code; The segments are gathered into straight-forward
functions which sleep whenever neccessary.

Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@qlogic.com>
Signed-off-by: default avatarAriel Elior <Ariel.Elior@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 370d4a26
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -1414,7 +1414,6 @@ enum sp_rtnl_flag {

enum bnx2x_iov_flag {
	BNX2X_IOV_HANDLE_VF_MSG,
	BNX2X_IOV_CONT_VFOP,
	BNX2X_IOV_HANDLE_FLR,
};

+0 −2
Original line number Diff line number Diff line
@@ -1857,8 +1857,6 @@ void bnx2x_sp_event(struct bnx2x_fastpath *fp, union eth_rx_cqe *rr_cqe)
#else
		return;
#endif
	/* SRIOV: reschedule any 'in_progress' operations */
	bnx2x_iov_sp_event(bp, cid);

	smp_mb__before_atomic_inc();
	atomic_inc(&bp->cq_spq_left);