OpenAFS CVS Commit: openafs/src/rx by jaltman

Sun, 29 May 2005 23:41:46 EDT

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

Modified Files:
      Tag: openafs-stable-1_4_x
	rx.c rx_globals.h rx_packet.c rx_packet.h rx_prototypes.h 
Log Message:
DELTA STABLE14-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 for openafs-stable-1_4_x follows ---
STABLE14-rx-fpq-bulk-free-20050529 openafs/src/rx/rx.c
STABLE14-rx-fpq-bulk-free-20050529 openafs/src/rx/rx_globals.h
STABLE14-rx-fpq-bulk-free-20050529 openafs/src/rx/rx_packet.c
STABLE14-rx-fpq-bulk-free-20050529 openafs/src/rx/rx_packet.h 1.13
STABLE14-rx-fpq-bulk-free-20050529 openafs/src/rx/rx_prototypes.h
STABLE14-rx-fpq-bulk-free-20050529 openafs/src/rx/rx_rdwr.c