[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