]> git.michaelhowe.org Git - packages/o/openafs.git/commit
STABLE14-rx-fpq-bulk-free-20050529
authorTom Keiser <tkeiser@psu.edu>
Mon, 30 May 2005 04:41:45 +0000 (04:41 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 30 May 2005 04:41:45 +0000 (04:41 +0000)
commit5b9b0767966b81a5522a3dade28b6a4d58d4f91e
tree923cb12f799d56b464af4268f175d4f9473466b8
parent671d4911a20cf3aa29e5f8d454f8381817b39e6a
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.

(cherry picked from commit d049ca2ae4e7708df028fca739c2a35ccb906bfb)
src/rx/rx.c
src/rx/rx_globals.h
src/rx/rx_packet.c
src/rx/rx_packet.h
src/rx/rx_prototypes.h
src/rx/rx_rdwr.c