Whamcloud - gitweb
LU-946 lprocfs: List open files in filesystem
[fs/lustre-release.git] / lnet / klnds / ptllnd / ptllnd_peer.c
index 100f1c9..ae10ef7 100644 (file)
@@ -26,6 +26,8 @@
 /*
  * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
+ *
+ * Copyright (c) 2012, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -215,28 +217,28 @@ kptllnd_peer_allocate (kptl_net_t *net, lnet_process_id_t lpid, ptl_process_id_t
 void
 kptllnd_peer_destroy (kptl_peer_t *peer)
 {
-        unsigned long flags;
+       unsigned long flags;
 
-        CDEBUG(D_NET, "Peer=%p\n", peer);
+       CDEBUG(D_NET, "Peer=%p\n", peer);
 
-        LASSERT (!cfs_in_interrupt());
-        LASSERT (cfs_atomic_read(&peer->peer_refcount) == 0);
-        LASSERT (peer->peer_state == PEER_STATE_ALLOCATED ||
-                 peer->peer_state == PEER_STATE_ZOMBIE);
-        LASSERT (cfs_list_empty(&peer->peer_noops));
-        LASSERT (cfs_list_empty(&peer->peer_sendq));
-        LASSERT (cfs_list_empty(&peer->peer_activeq));
+       LASSERT (!in_interrupt());
+       LASSERT (cfs_atomic_read(&peer->peer_refcount) == 0);
+       LASSERT (peer->peer_state == PEER_STATE_ALLOCATED ||
+                peer->peer_state == PEER_STATE_ZOMBIE);
+       LASSERT (cfs_list_empty(&peer->peer_noops));
+       LASSERT (cfs_list_empty(&peer->peer_sendq));
+       LASSERT (cfs_list_empty(&peer->peer_activeq));
 
        write_lock_irqsave(&kptllnd_data.kptl_peer_rw_lock, flags);
 
-        if (peer->peer_state == PEER_STATE_ZOMBIE)
-                cfs_list_del(&peer->peer_list);
+       if (peer->peer_state == PEER_STATE_ZOMBIE)
+               cfs_list_del(&peer->peer_list);
 
-        kptllnd_data.kptl_npeers--;
+       kptllnd_data.kptl_npeers--;
 
        write_unlock_irqrestore(&kptllnd_data.kptl_peer_rw_lock, flags);
 
-        LIBCFS_FREE (peer, sizeof (*peer));
+       LIBCFS_FREE (peer, sizeof (*peer));
 }
 
 void
@@ -274,9 +276,9 @@ kptllnd_peer_cancel_txs(kptl_peer_t *peer, cfs_list_t *txs)
 void
 kptllnd_peer_alive (kptl_peer_t *peer)
 {
-        /* This is racy, but everyone's only writing cfs_time_current() */
-        peer->peer_last_alive = cfs_time_current();
-        cfs_mb();
+       /* This is racy, but everyone's only writing cfs_time_current() */
+       peer->peer_last_alive = cfs_time_current();
+       smp_mb();
 }
 
 void
@@ -422,37 +424,37 @@ kptllnd_handle_closing_peers ()
 void
 kptllnd_peer_close_locked(kptl_peer_t *peer, int why)
 {
-        switch (peer->peer_state) {
-        default:
-                LBUG();
-
-        case PEER_STATE_WAITING_HELLO:
-        case PEER_STATE_ACTIVE:
-                /* Ensure new peers see a new incarnation of me */
-                LASSERT(peer->peer_myincarnation <= kptllnd_data.kptl_incarnation);
-                if (peer->peer_myincarnation == kptllnd_data.kptl_incarnation)
-                        kptllnd_data.kptl_incarnation++;
-
-                /* Removing from peer table */
-                kptllnd_data.kptl_n_active_peers--;
-                LASSERT (kptllnd_data.kptl_n_active_peers >= 0);
-
-                cfs_list_del(&peer->peer_list);
-                kptllnd_peer_unreserve_buffers();
-
-                peer->peer_error = why; /* stash 'why' only on first close */
-                peer->peer_state = PEER_STATE_CLOSING;
-
-                /* Schedule for immediate attention, taking peer table's ref */
-                cfs_list_add_tail(&peer->peer_list,
-                                 &kptllnd_data.kptl_closing_peers);
-                cfs_waitq_signal(&kptllnd_data.kptl_watchdog_waitq);
-                break;
-
-        case PEER_STATE_ZOMBIE:
-        case PEER_STATE_CLOSING:
-                break;
-        }
+       switch (peer->peer_state) {
+       default:
+               LBUG();
+
+       case PEER_STATE_WAITING_HELLO:
+       case PEER_STATE_ACTIVE:
+               /* Ensure new peers see a new incarnation of me */
+               LASSERT(peer->peer_myincarnation <= kptllnd_data.kptl_incarnation);
+               if (peer->peer_myincarnation == kptllnd_data.kptl_incarnation)
+                       kptllnd_data.kptl_incarnation++;
+
+               /* Removing from peer table */
+               kptllnd_data.kptl_n_active_peers--;
+               LASSERT (kptllnd_data.kptl_n_active_peers >= 0);
+
+               cfs_list_del(&peer->peer_list);
+               kptllnd_peer_unreserve_buffers();
+
+               peer->peer_error = why; /* stash 'why' only on first close */
+               peer->peer_state = PEER_STATE_CLOSING;
+
+               /* Schedule for immediate attention, taking peer table's ref */
+               cfs_list_add_tail(&peer->peer_list,
+                                &kptllnd_data.kptl_closing_peers);
+               wake_up(&kptllnd_data.kptl_watchdog_waitq);
+               break;
+
+       case PEER_STATE_ZOMBIE:
+       case PEER_STATE_CLOSING:
+               break;
+       }
 }
 
 void
@@ -598,10 +600,10 @@ kptllnd_post_tx(kptl_peer_t *peer, kptl_tx_t *tx, int nfrag)
         }
 
 
-        tx->tx_deadline = jiffies + (*kptllnd_tunables.kptl_timeout * CFS_HZ);
-        tx->tx_active = 1;
-        tx->tx_msg_mdh = msg_mdh;
-        kptllnd_queue_tx(peer, tx);
+       tx->tx_deadline = jiffies + (*kptllnd_tunables.kptl_timeout * HZ);
+       tx->tx_active = 1;
+       tx->tx_msg_mdh = msg_mdh;
+       kptllnd_queue_tx(peer, tx);
 }
 
 /* NB "restarts" comes from peer_sendq of a single peer */
@@ -664,17 +666,17 @@ kptllnd_peer_send_noop (kptl_peer_t *peer)
 void
 kptllnd_peer_check_sends (kptl_peer_t *peer)
 {
-        ptl_handle_me_t  meh;
-        kptl_tx_t       *tx;
-        int              rc;
-        int              msg_type;
-        unsigned long    flags;
+       ptl_handle_me_t  meh;
+       kptl_tx_t       *tx;
+       int              rc;
+       int              msg_type;
+       unsigned long    flags;
 
-        LASSERT(!cfs_in_interrupt());
+       LASSERT(!in_interrupt());
 
        spin_lock_irqsave(&peer->peer_lock, flags);
 
-        peer->peer_retry_noop = 0;
+       peer->peer_retry_noop = 0;
 
         if (kptllnd_peer_send_noop(peer)) {
                 /* post a NOOP to return credits */