summaryrefslogtreecommitdiffstats
path: root/sys/dev/mxge
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2006-08-01 10:30:26 +0000
committerrwatson <rwatson@FreeBSD.org>2006-08-01 10:30:26 +0000
commitcedd19512d5ec8d27159476420b827e2e01731e1 (patch)
tree20b032b51bec9502f0c354ae03f8f7a68d6f1f67 /sys/dev/mxge
parent1157b51024537d013f39373f730c9a1462a81c8b (diff)
downloadFreeBSD-src-cedd19512d5ec8d27159476420b827e2e01731e1.zip
FreeBSD-src-cedd19512d5ec8d27159476420b827e2e01731e1.tar.gz
Reimplement socket buffer tear-down in sofree(): as the socket is no
longer referenced by other threads (hence our freeing it), we don't need to set the can't send and can't receive flags, wake up the consumers, perform two levels of locking, etc. Implement a fast-path teardown, sbdestroy(), which flushes and releases each socket buffer. A manual dom_dispose of the receive buffer is still required explicitly to GC any in-flight file descriptors, etc, before flushing the buffer. This results in a 9% UP performance improvement and 16% SMP performance improvement on a tight loop of socket();close(); in micro-benchmarking, but will likely also affect CPU-bound macro-benchmark performance.
Diffstat (limited to 'sys/dev/mxge')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud