lnet_ni_send(struct lnet_ni *ni, struct lnet_msg *msg)
{
void *priv = msg->msg_private;
- int rc;
+ int rc;
LASSERT (!in_interrupt ());
LASSERT (LNET_NETTYP(LNET_NIDNET(ni->ni_nid)) == LOLND ||
md->md_rspt_ptr = NULL;
lnet_res_unlock(i);
+ lnet_net_lock(i);
+ the_lnet.ln_counters[i]->response_timeout_count++;
+ lnet_net_unlock(i);
+
list_del_init(&rspt->rspt_on_list);
CDEBUG(D_NET, "Response timed out: md = %p\n", md);
lnet_peer_ni_decref_locked(lpni);
lnet_net_unlock(cpt);
+ CDEBUG(D_NET, "resending %s->%s: %s recovery %d\n",
+ libcfs_nid2str(src_nid),
+ libcfs_id2str(msg->msg_target),
+ lnet_msgtyp2str(msg->msg_type),
+ msg->msg_recovery);
rc = lnet_send(src_nid, msg, LNET_NID_ANY);
if (rc) {
CERROR("Error sending %s to %s: %d\n",
lnet_finalize(msg, rc);
}
lnet_net_lock(cpt);
+ if (!rc)
+ the_lnet.ln_counters[cpt]->resend_count++;
}
}
}
}
if (!list_empty(&the_lnet.ln_drop_rules) &&
- lnet_drop_rule_match(hdr)) {
+ lnet_drop_rule_match(hdr, NULL)) {
CDEBUG(D_NET, "%s, src %s, dst %s: Dropping %s to simulate"
"silent message loss\n",
libcfs_nid2str(from_nid), libcfs_nid2str(src_nid),