[AFS3-std] Request for new fields in rx_statistics

Michael Meffie mmeffie@sinenomine.net
Wed, 30 Sep 2009 17:07:10 -0400


Hello,

I would like to propose a change to the rx_statistics
structure which is returned in RX debug packets. The proposed
change would append two integers to the rx_statistics to
report the number of ack packets that have been delayed due to
excessive aborts (rx throttling).  (See the fileserver
--abortthreshold option and related rx code.)


  struct rx_statistics {		/* General rx statistics */
      int packetRequests;		/* Number of packet allocation requests */
      int receivePktAllocFailures;
      int sendPktAllocFailures;
      int specialPktAllocFailures;
...etc...
      int receiveCbufPktAllocFailures;
      int sendCbufPktAllocFailures;
      int nBusies;
-    int spares[4];
+    int delayedConnAbortsSent;  /* Number of delayed connection aborts sent (throttling) */
+    int delayedCallAbortsSent;  /* Number of delayed call aborts sent (throttling) */
+    int spares[2];
  };

The number of spares is reduced to 2 integers by this change,
but since this is not an RX call, but rather the payload of an
rx debug packet, I believe addtional integers could be added
up to the limit imposed on the packet size.

In terms of the standardization process, it seems this would
best live in an updated rx-specification. The draft document
by Nickolai Zeldovich only refers to the file rx/rx.h for the
contents of the rx debug packet.  See the section "Debugging"
in http://web.mit.edu/kolya/afs/rx/rx-spec.

Thanks,
Mike