X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lnet%2Flnet%2Flib-move.c;h=f31b0fe5e371cd89577ee8d327646df432e1261f;hp=a0bebbf68fd7d1b44f6053ee768b67c988745f72;hb=2c56a64e065f471057928f16b9b550ca0050bdc1;hpb=5833895424f425d6552eedd8a34488dad0c1676b diff --git a/lnet/lnet/lib-move.c b/lnet/lnet/lib-move.c index a0bebbf..f31b0fe 100644 --- a/lnet/lnet/lib-move.c +++ b/lnet/lnet/lib-move.c @@ -1361,6 +1361,19 @@ lnet_send(lnet_nid_t src_nid, lnet_msg_t *msg) } LASSERT (lp->lp_ni == src_ni); } else { +#ifndef __KERNEL__ + LNET_UNLOCK(); + + /* NB + * - once application finishes computation, check here to update + * router states before it waits for pending IO in LNetEQPoll + * - recursion breaker: router checker sends no message + * to remote networks */ + if (the_lnet.ln_rc_state == LNET_RC_STATE_RUNNING) + lnet_router_checker(); + + LNET_LOCK(); +#endif /* sending to a remote network */ rnet = lnet_find_net_locked(LNET_NIDNET(dst_nid)); if (rnet == NULL) {