X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lnet%2Finclude%2Flnet%2Flib-types.h;h=c3feaea0621dba2dfdaf96ee57783eb75dcf33c8;hb=9283e2ed6655e89fe693d35313c9dcf1d5a6703a;hp=c83d53792b1260aadb34a82697ae03304c4b71e1;hpb=086962e37737b4f61317b8b3ee87ab5527f89e96;p=fs%2Flustre-release.git diff --git a/lnet/include/lnet/lib-types.h b/lnet/include/lnet/lib-types.h index c83d537..c3feaea 100644 --- a/lnet/include/lnet/lib-types.h +++ b/lnet/include/lnet/lib-types.h @@ -415,6 +415,12 @@ struct lnet_net { /* network state */ enum lnet_net_state net_state; + + /* when I was last alive */ + time64_t net_last_alive; + + /* protects access to net_last_alive */ + spinlock_t net_lock; }; struct lnet_ni { @@ -450,9 +456,6 @@ struct lnet_ni { /* percpt reference count */ int **ni_refs; - /* when I was last alive */ - time64_t ni_last_alive; - /* pointer to parent network */ struct lnet_net *ni_net; @@ -581,6 +584,8 @@ struct lnet_peer_ni { __u32 lpni_gw_seq; /* returned RC ping features. Protected with lpni_lock */ unsigned int lpni_ping_feats; + /* time last message was received from the peer */ + time64_t lpni_last_alive; /* preferred local nids: if only one, use lpni_pref.nid */ union lpni_pref { lnet_nid_t nid; @@ -615,6 +620,9 @@ struct lnet_peer { /* primary NID of the peer */ lnet_nid_t lp_primary_nid; + /* net to perform discovery on */ + __u32 lp_disc_net_id; + /* CPT of peer_table */ int lp_cpt; @@ -624,15 +632,18 @@ struct lnet_peer { /* # refs from lnet_route_t::lr_gateway */ int lp_rtr_refcount; + /* + * peer specific health sensitivity value to decrement peer nis in + * this peer with if set to something other than 0 + */ + __u32 lp_health_sensitivity; + /* messages blocking for router credits */ struct list_head lp_rtrq; /* routes on this peer */ struct list_head lp_routes; - /* time of last router check attempt */ - time64_t lp_rtrcheck_timestamp; - /* reference count */ atomic_t lp_refcount; @@ -753,6 +764,12 @@ struct lnet_peer_net { /* Net ID */ __u32 lpn_net_id; + /* time of last router net check attempt */ + time64_t lpn_rtrcheck_timestamp; + + /* selection sequence number */ + __u32 lpn_seq; + /* reference count */ atomic_t lpn_refcount; }; @@ -1126,6 +1143,11 @@ struct lnet { /* recovery eq handler */ struct lnet_handle_eq ln_mt_eqh; + /* + * Completed when the discovery and monitor threads can enter their + * work loops + */ + struct completion ln_started; }; #endif