X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lnet%2Fklnds%2Fgnilnd%2Fgnilnd.h;h=f7359a413e325ea8cad45a283e72f601e7ce4861;hb=57c03f3070753146a1d374939197e8c838a0bcc1;hp=3c7f7428dbc9e904a407946f85f9137f9f6dd84d;hpb=2a32eaa35dd7b96bb29f6a17991f48fe07fa833e;p=fs%2Flustre-release.git diff --git a/lnet/klnds/gnilnd/gnilnd.h b/lnet/klnds/gnilnd/gnilnd.h index 3c7f742..f7359a4 100644 --- a/lnet/klnds/gnilnd/gnilnd.h +++ b/lnet/klnds/gnilnd/gnilnd.h @@ -148,6 +148,8 @@ static inline time_t cfs_duration_sec(long duration_jiffies) /* need sane upper bound to limit copy overhead */ #define GNILND_MAX_IMMEDIATE (64<<10) +/* allow for 4M transfers over gni. Note 2.5M used by DVS */ +#define GNILND_MAX_IOV 1024 /* Max number of connections to keep in purgatory per peer */ #define GNILND_PURGATORY_MAX 5 @@ -1169,20 +1171,20 @@ do { \ wake_up_var(&kgnilnd_data); \ }while (0) -#define kgnilnd_net_addref(net) \ -do { \ - int val = atomic_inc_return(&net->gnn_refcount); \ - LASSERTF(val > 1, "net %p refcount %d\n", net, val); \ - CDEBUG(D_NETTRACE, "net %p->%s++ (%d)\n", net, \ - libcfs_nid2str(net->gnn_ni->ni_nid), val); \ +#define kgnilnd_net_addref(net) \ +do { \ + int val = atomic_inc_return(&net->gnn_refcount); \ + LASSERTF(val > 1, "net %p refcount %d\n", net, val); \ + CDEBUG(D_NETTRACE, "net %p->%s++ (%d)\n", net, \ + libcfs_nidstr(&net->gnn_ni->ni_nid), val); \ } while (0) -#define kgnilnd_net_decref(net) \ -do { \ - int val = atomic_dec_return(&net->gnn_refcount); \ - LASSERTF(val >= 0, "net %p refcount %d\n", net, val); \ - CDEBUG(D_NETTRACE, "net %p->%s-- (%d)\n", net, \ - libcfs_nid2str(net->gnn_ni->ni_nid), val); \ +#define kgnilnd_net_decref(net) \ +do { \ + int val = atomic_dec_return(&net->gnn_refcount); \ + LASSERTF(val >= 0, "net %p refcount %d\n", net, val); \ + CDEBUG(D_NETTRACE, "net %p->%s-- (%d)\n", net, \ + libcfs_nidstr(&net->gnn_ni->ni_nid), val); \ } while (0) #define kgnilnd_peer_addref(peer) \ @@ -1376,7 +1378,7 @@ kgnilnd_check_purgatory_conn(kgn_conn_t *conn) if (conn->gnc_peer) { loopback = conn->gnc_peer->gnp_nid == - conn->gnc_peer->gnp_net->gnn_ni->ni_nid; + lnet_nid_to_nid4(&conn->gnc_peer->gnp_net->gnn_ni->ni_nid); } else { /* short circuit - a conn that didn't complete * setup never needs a purgatory hold */ @@ -1744,8 +1746,11 @@ kgnilnd_find_net(lnet_nid_t nid, kgn_net_t **netp) return -ESHUTDOWN; } - list_for_each_entry(net, kgnilnd_netnum2netlist(LNET_NETNUM(LNET_NIDNET(nid))), gnn_list) { - if (!net->gnn_shutdown && LNET_NIDNET(net->gnn_ni->ni_nid) == LNET_NIDNET(nid)) { + list_for_each_entry(net, + kgnilnd_netnum2netlist(LNET_NETNUM(LNET_NIDNET(nid))), + gnn_list) { + if (!net->gnn_shutdown && + LNET_NID_NET(&net->gnn_ni->ni_nid) == LNET_NIDNET(nid)) { kgnilnd_net_addref(net); up_read(&kgnilnd_data.kgn_net_rw_sem); *netp = net; @@ -1813,7 +1818,8 @@ int kgnilnd_del_conn_or_peer(kgn_net_t *net, lnet_nid_t nid, int command, int er void kgnilnd_peer_increase_reconnect_locked(kgn_peer_t *peer); void kgnilnd_queue_reply(kgn_conn_t *conn, kgn_tx_t *tx); void kgnilnd_queue_tx(kgn_conn_t *conn, kgn_tx_t *tx); -void kgnilnd_launch_tx(kgn_tx_t *tx, kgn_net_t *net, struct lnet_process_id *target); +void kgnilnd_launch_tx(kgn_tx_t *tx, kgn_net_t *net, + struct lnet_processid *target); int kgnilnd_send_mapped_tx(kgn_tx_t *tx, int try_map_if_full); void kgnilnd_consume_rx(kgn_rx_t *rx);