rx-packet-allocation-debug-20080925
[openafs.git] / src / rx / rx.c
index e887680..98dded0 100644 (file)
@@ -2244,7 +2244,7 @@ rxi_NewCall(register struct rx_connection *conn, register int channel)
     } else {
 
        call = (struct rx_call *)rxi_Alloc(sizeof(struct rx_call));
-
+        rx_MutexIncrement(rx_stats.nFreeCallStructs, rx_stats_mutex);
        MUTEX_EXIT(&rx_freeCallQueue_lock);
        MUTEX_INIT(&call->lock, "call lock", MUTEX_DEFAULT, NULL);
        MUTEX_ENTER(&call->lock);
@@ -2252,7 +2252,6 @@ rxi_NewCall(register struct rx_connection *conn, register int channel)
        CV_INIT(&call->cv_rq, "call rq", CV_DEFAULT, 0);
        CV_INIT(&call->cv_tq, "call tq", CV_DEFAULT, 0);
 
-        rx_MutexIncrement(rx_stats.nFreeCallStructs, rx_stats_mutex);
        /* Initialize once-only items */
        queue_Init(&call->tq);
        queue_Init(&call->rq);
@@ -6611,6 +6610,8 @@ rx_GetServerDebug(osi_socket socket, afs_uint32 remoteAddr,
                  afs_uint32 * supportedValues)
 {
     struct rx_debugIn in;
+    afs_int32 *lp = (afs_int32 *) stat;
+    int i;
     afs_int32 rc = 0;
 
     *supportedValues = 0;
@@ -6651,12 +6652,16 @@ rx_GetServerDebug(osi_socket socket, afs_uint32 remoteAddr,
        if (stat->version >= RX_DEBUGI_VERSION_W_WAITED) {
            *supportedValues |= RX_SERVER_DEBUG_WAITED_CNT;
        }
-
+       if (stat->version >= RX_DEBUGI_VERSION_W_PACKETS) {
+           *supportedValues |= RX_SERVER_DEBUG_PACKETS_CNT;
+       }
        stat->nFreePackets = ntohl(stat->nFreePackets);
        stat->packetReclaims = ntohl(stat->packetReclaims);
        stat->callsExecuted = ntohl(stat->callsExecuted);
        stat->nWaiting = ntohl(stat->nWaiting);
        stat->idleThreads = ntohl(stat->idleThreads);
+        stat->nWaited = ntohl(stat->nWaited);
+        stat->nPackets = ntohl(stat->nPackets);
     }
 
     return rc;