diff options
author | Niels Provos <provos@cvs.openbsd.org> | 2002-08-08 17:07:33 +0000 |
---|---|---|
committer | Niels Provos <provos@cvs.openbsd.org> | 2002-08-08 17:07:33 +0000 |
commit | 645bfcfc7a44cb3eef794f55a0f348cdbb48b20c (patch) | |
tree | 65348cbbc69a068876bfe2a31a3287f71b482d02 /sys/kern/vnode_if.c | |
parent | 3ab868adf3b73fcb169a2f03c12e12d299f6f672 (diff) |
socket buf speedup from thorpej@netbsd, okay art@ ericj@:
Make insertion of data into socket buffers O(C):
* Keep pointers to the first and last mbufs of the last record in the
socket buffer.
* Use the sb_lastrecord pointer in the sbappend*() family of functions
to avoid traversing the packet chain to find the last record.
* Add a new sbappend_stream() function for stream protocols which
guarantee that there will never be more than one record in the
socket buffer. This function uses the sb_mbtail pointer to perform
the data insertion. Make TCP use sbappend_stream(). On a profiling
run, this makes sbappend of a TCP transmission using
a 1M socket buffer go from 50% of the time to .02% of the time. Thanks
to Bill Sommerfeld and YAMAMOTO Takashi for their debugging
assistance!
Diffstat (limited to 'sys/kern/vnode_if.c')
-rw-r--r-- | sys/kern/vnode_if.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/vnode_if.c b/sys/kern/vnode_if.c index 1c762730f66..f21f2334f5d 100644 --- a/sys/kern/vnode_if.c +++ b/sys/kern/vnode_if.c @@ -5,7 +5,7 @@ * Created from the file: * OpenBSD: vnode_if.src,v 1.19 2002/02/22 20:37:45 drahn Exp * by the script: - * OpenBSD: vnode_if.sh,v 1.8 2001/02/26 17:34:18 art Exp + * OpenBSD: vnode_if.sh,v 1.10 2002/03/14 23:47:05 millert Exp */ /* |