Skip to content

Commit

Permalink
Revert "rxe: Add bypass arbiter"
Browse files Browse the repository at this point in the history
This reverts commit 2d0623b.

Conflicts:
	drivers/infiniband/hw/rxe/rxe_loc.h
	drivers/infiniband/hw/rxe/rxe_param.h
	drivers/infiniband/hw/rxe/rxe_req.c
	drivers/infiniband/hw/rxe/rxe_resp.c
  • Loading branch information
Kamal Heib committed Jan 27, 2015
1 parent 14cc93f commit 93c09c5
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 34 deletions.
5 changes: 0 additions & 5 deletions drivers/infiniband/hw/rxe/rxe.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,6 @@ module_param_named(default_mtu, rxe_default_mtu, int, 0644);
MODULE_PARM_DESC(default_mtu,
"default rxe port mtu");

int rxe_bypass_arbiter;
module_param_named(bypass_arbiter, rxe_bypass_arbiter, int, 0644);
MODULE_PARM_DESC(bypass_arbiter,
"do not arbitrate for network send");

/* free resources for all ports on a device */
static void rxe_cleanup_ports(struct rxe_dev *rxe)
{
Expand Down
4 changes: 2 additions & 2 deletions drivers/infiniband/hw/rxe/rxe_arbiter.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ static inline void account_skb(struct rxe_dev *rxe, struct rxe_qp *qp,
}
}

int xmit_one_packet(struct rxe_dev *rxe, struct rxe_qp *qp,
struct sk_buff *skb)
static int xmit_one_packet(struct rxe_dev *rxe, struct rxe_qp *qp,
struct sk_buff *skb)
{
int err;
struct timespec time;
Expand Down
3 changes: 0 additions & 3 deletions drivers/infiniband/hw/rxe/rxe_loc.h
Original file line number Diff line number Diff line change
Expand Up @@ -235,9 +235,6 @@ extern struct ib_dma_mapping_ops rxe_dma_mapping_ops;

void rxe_release(struct kref *kref);

int xmit_one_packet(struct rxe_dev *rxe, struct rxe_qp *qp,
struct sk_buff *skb);

void arbiter_skb_queue(struct rxe_dev *rxe,
struct rxe_qp *qp, struct sk_buff *skb);

Expand Down
1 change: 0 additions & 1 deletion drivers/infiniband/hw/rxe/rxe_param.h
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,5 @@ extern int rxe_max_skb_per_qp;
extern int rxe_max_req_comp_gap;
extern int rxe_max_pkt_per_ack;
extern int rxe_default_mtu;
extern int rxe_bypass_arbiter;

#endif /* RXE_PARAM_H */
6 changes: 1 addition & 5 deletions drivers/infiniband/hw/rxe/rxe_req.c
Original file line number Diff line number Diff line change
Expand Up @@ -694,11 +694,7 @@ int rxe_requester(void *arg)

update_state(qp, wqe, pkt, payload);

if (rxe_bypass_arbiter)
xmit_one_packet(to_rdev(qp->ibqp.device), qp, PKT_TO_SKB(pkt));
else
arbiter_skb_queue(to_rdev(qp->ibqp.device), qp,
PKT_TO_SKB(pkt));
arbiter_skb_queue(to_rdev(qp->ibqp.device), qp, PKT_TO_SKB(pkt));

if (mask & RXE_END_MASK)
goto complete;
Expand Down
23 changes: 5 additions & 18 deletions drivers/infiniband/hw/rxe/rxe_resp.c
Original file line number Diff line number Diff line change
Expand Up @@ -748,10 +748,7 @@ static enum resp_states read_reply(struct rxe_qp *qp,

*buf = rxe_icrc_pkt(pkt);

if (rxe_bypass_arbiter)
xmit_one_packet(rxe, qp, skb);
else
arbiter_skb_queue(rxe, qp, skb);
arbiter_skb_queue(rxe, qp, skb);

if (res->read.resid > 0) {
state = RESPST_DONE;
Expand Down Expand Up @@ -927,10 +924,7 @@ static int send_ack(struct rxe_qp *qp, struct rxe_pkt_info *pkt,

*buf = rxe_icrc_pkt(ack);

if (rxe_bypass_arbiter)
xmit_one_packet(rxe, qp, skb);
else
arbiter_skb_queue(rxe, qp, skb);
arbiter_skb_queue(rxe, qp, skb);

err1:
return err;
Expand Down Expand Up @@ -978,10 +972,7 @@ static int send_atomic_ack(struct rxe_qp *qp, struct rxe_pkt_info *pkt,
pr_warn("Could not clone atomic response\n");
}

if (rxe_bypass_arbiter)
xmit_one_packet(rxe, qp, skb_copy);
else
arbiter_skb_queue(rxe, qp, skb_copy);
arbiter_skb_queue(rxe, qp, skb_copy);

out:
return rc;
Expand Down Expand Up @@ -1123,12 +1114,8 @@ static enum resp_states duplicate_request(struct rxe_qp *qp,
bth_set_psn(SKB_TO_PKT(skb_copy),
qp->resp.psn - 1);
/* Resend the result. */
if (rxe_bypass_arbiter)
xmit_one_packet(to_rdev(qp->ibqp.device), qp,
skb_copy);
else
arbiter_skb_queue(to_rdev(qp->ibqp.device), qp,
skb_copy);
arbiter_skb_queue(to_rdev(qp->ibqp.device), qp,
skb_copy);
}

/* Resource not found. Class D error. Drop the request. */
Expand Down

0 comments on commit 93c09c5

Please sign in to comment.