{
mlog(4, " WR_rx[%d] %p %s complete po-addr=%p ln=%d, key=%x ctx=%Lx\n",
wr_rx->w_idx, wr_rx,
- wr_rx->wr.opcode == IBV_WR_RDMA_READ ? "RR":"RW_IMM WC",
+ type == WRID_RX_RR ? "RR":"RW_IMM WC",
wr_rx->sg[0].addr, wr_rx->sg[0].length,
wr_rx->sg[0].lkey, wr_rx->context);
if (wc->status && (wc->status != IBV_WC_WR_FLUSH_ERR)) {
char *sbuf = (char*)wr_rx->sg[1].addr;
- mlog(0," WR ERR: st %d, vn %x pst %d cmp %d qstate 0x%x\n",
+ mlog(0," WR ERR: %s st %d, vn %x pst %d cmp %d qstate 0x%x\n",
+ type == WRID_RX_RR ? "RR":"RW_IMM WC",
wc->status, wc->vendor_err, m_qp->post_cnt,
m_qp->comp_cnt, m_qp->ib_qp2->state);
- mlog(0, " WR ERR: wr_rx %p laddr %p=0x%x - %p=0x%x, len=%d, lkey=%x\n",
- wr_rx, sbuf, sbuf[0], &sbuf[wr_rx->sg[1].length],
+ mlog(0, " WR ERR: wr_rx[%d] %p laddr %p=0x%x - %p=0x%x, len=%d, lkey=%x\n",
+ wr_rx->w_idx, wr_rx, sbuf, sbuf[0], &sbuf[wr_rx->sg[1].length],
sbuf[wr_rx->sg[1].length], wr_rx->sg[1].length, wr_rx->sg[1].lkey);
- mlog(0, " WR ERR: wr_id %Lx sglist %p sge %d op %d flgs"
- " %d idata 0x%x raddr %p rkey %x saddr %p key %x ln %d\n",
- wr_rx->org_id, wr_rx->sg, wr_rx->wr.num_sge,
+ mlog(0, " WR ERR: wr_id %Lx sge %d op %d flgs"
+ " %d imm 0x%x raddr %p rkey %x ln %d, laddr %p key %x ln %d\n",
+ wr_rx->org_id, wr_rx->wr.num_sge,
wr_rx->wr.opcode, wr_rx->wr.send_flags, wr_rx->wr.imm_data,
- wr_rx->wr.wr.rdma.remote_addr, wr_rx->wr.wr.rdma.rkey,
- wr_rx->sg[0].addr, wr_rx->sg[0]. lkey,wr_rx->sg[0].length);
+ wr_rx->sg[0].addr, wr_rx->sg[0].lkey, wr_rx->sg[0].length,
+ wr_rx->sg[1].addr, wr_rx->sg[1].lkey, wr_rx->sg[1].length);
/* send WC with ERR to RW initiator, hold rxlock */
mpxy_lock(&m_qp->rxlock);
void m_pi_rcv_event(struct mcm_qp *m_qp, wrc_idata_t *wrc)
{
- mlog(8," WRC id %x, type %x, flags %x\n", wrc->id, wrc->type, wrc->flags);
+ mlog(8," WRC id %d, type %x, flags %x\n", wrc->id, wrc->type, wrc->flags);
if (wrc->type == M_WR_TYPE) {
struct mcm_wr_rx *wr_rx;
mcm_ntoh_wr_rx(wr_rx); /* received in network order, convert */
wr_rx->context = (uint64_t)(uintptr_t)m_qp; /* local side QP context */
- mlog(8," WR_rx[%d] %p org_id %Lx wc_tl_rem %d flgs %x wr.wr_id %Lx imm 0x%x\n",
+ mlog(8," WR_rx[%d] %p id %Lx wc_tl_rem %d flgs %x wr.wr_id %Lx imm 0x%x raddr %Lx,%x,%d\n",
wrc->id, wr_rx, wr_rx->org_id, wr_rx->w_idx, wr_rx->flags,
- wr_rx->wr.wr_id, wr_rx->wr.imm_data);
+ wr_rx->wr.wr_id, wr_rx->wr.imm_data,
+ wr_rx->sg[0].addr, wr_rx->sg[0].lkey, wr_rx->sg[0].length);
mpxy_lock(&m_qp->rxlock);
m_qp->wc_tl_rem = wr_rx->w_idx; /* remote WC tail update in WR */