OpenAFS CVS Commit: openafs/src/rx by jaltman

cvs@GRAND.CENTRAL.ORG cvs@GRAND.CENTRAL.ORG
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 
	rx_rdwr.c 
Log Message:
DELTA STABLE14-rx-fpq-bulk-free-20050529
AUTHOR tkeiser@psu.edu
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 1.58.2.18 1.58.2.19
STABLE14-rx-fpq-bulk-free-20050529 openafs/src/rx/rx_globals.h 1.9.2.8 1.9.2.9
STABLE14-rx-fpq-bulk-free-20050529 openafs/src/rx/rx_packet.c 1.35.2.14 1.35.2.15
STABLE14-rx-fpq-bulk-free-20050529 openafs/src/rx/rx_packet.h 1.13 1.13.2.1
STABLE14-rx-fpq-bulk-free-20050529 openafs/src/rx/rx_prototypes.h 1.14.2.9 1.14.2.10
STABLE14-rx-fpq-bulk-free-20050529 openafs/src/rx/rx_rdwr.c 1.21.2.4 1.21.2.5