Whamcloud - gitweb
LU-12686 lnet: change ln_mt_waitq to a completion.
[fs/lustre-release.git] / lnet / include / lnet / lib-types.h
index af591d8..b446414 100644 (file)
@@ -629,7 +629,7 @@ struct lnet_peer {
        /* number of NIDs on this peer */
        int                     lp_nnis;
 
-       /* # refs from lnet_route_t::lr_gateway */
+       /* # refs from lnet_route::lr_gateway */
        int                     lp_rtr_refcount;
 
        /*
@@ -821,6 +821,7 @@ struct lnet_route {
        int                     lr_seq;         /* sequence for round-robin */
        __u32                   lr_hops;        /* how far I am */
        unsigned int            lr_priority;    /* route priority */
+       bool                    lr_alive;       /* cached route aliveness */
 };
 
 #define LNET_REMOTE_NETS_HASH_DEFAULT  (1U << 7)
@@ -972,9 +973,13 @@ struct lnet_msg_container {
        int                     msc_nfinalizers;
        /* msgs waiting to complete finalizing */
        struct list_head        msc_finalizing;
+       /* msgs waiting to be resent */
+       struct list_head        msc_resending;
        struct list_head        msc_active;     /* active message list */
        /* threads doing finalization */
        void                    **msc_finalizers;
+       /* threads doing resends */
+       void                    **msc_resenders;
 };
 
 /* Peer Discovery states */
@@ -1121,10 +1126,10 @@ struct lnet {
        bool                            ln_nis_from_mod_params;
 
        /*
-        * waitq for the monitor thread. The monitor thread takes care of
+        * completion for the monitor thread. The monitor thread takes care of
         * checking routes, timedout messages and resending messages.
         */
-       wait_queue_head_t               ln_mt_waitq;
+       struct completion               ln_mt_wait_complete;
 
        /* per-cpt resend queues */
        struct list_head                **ln_mt_resendqs;