OpenAFS CVS Commit: openafs/src/rx by jaltman

Sun, 29 May 2005 23:39:51 EDT

Update of /cvs/openafs/src/rx
In directory GRAND.CENTRAL.ORG:/home/jaltman/openafs/cvs-1-3/src/rx

Modified Files:
	rx.c rx_globals.h rx_packet.c rx_packet.h rx_prototypes.h 
Log Message:
DELTA rx-fpq-bulk-free-20050529
FIXES 19027

After profiling RX for a while, I've found a few more bottlenecks in the
packet handling code.  This patch addresses a couple of these issues.
The major change in this patch is a new API to allow bulk packet
alloc/free ops on rx_queue's of packets.  Benefits include reduced lock
contention on rx_freePktQ_lock, elimination of a lot of unnecessary cache
line invalidates, and reduced register window thrashing on sparc.

In addition, this patch dedicates one rx_packet per thread to rxi_SendAck,
since that function is in the critical path, and represents a large
percentage of execution time.

--- DELTA config follows ---
rx-fpq-bulk-free-20050529 openafs/src/rx/rx.c 1.80 1.81
rx-fpq-bulk-free-20050529 openafs/src/rx/rx_globals.h 1.17 1.18
rx-fpq-bulk-free-20050529 openafs/src/rx/rx_packet.c 1.49 1.50
rx-fpq-bulk-free-20050529 openafs/src/rx/rx_packet.h 1.13 1.14
rx-fpq-bulk-free-20050529 openafs/src/rx/rx_prototypes.h 1.23 1.24
rx-fpq-bulk-free-20050529 openafs/src/rx/rx_rdwr.c 1.25 1.26