[AFS3-std] Request for new fields in rx_statistics

Jason Edgecombe jason@rampaginggeek.com
Missing Date


Derrick Brashear wrote:
> On Wed, Sep 30, 2009 at 5:07 PM, Michael Meffie <mmeffie@sinenomine.net> wrote:
>   
>> 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.
>>     
>
> I'm not sure that's the best practice for doing so, though for this an
> I-D is probably too heavyweight. Regardless of how we decide we'd like
> to document this, I am in favor of this proposal
Sounds good to me. Are there any legacy fields that aren't interpreted 
correctly from 64bit hosts?

I'm thinking of what happens when xstat_fs and xstat_cm are run from a 
64bit client against a 32bit server and vice versa.

Jason