OpenBSD CVS

CVS log for src/share/man/man9/sosplice.9


[BACK] Up to [local] / src / share / man / man9

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.10 / (download) - annotate - [select for diffs], Thu Jul 4 17:42:17 2019 UTC (4 years, 11 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, HEAD
Changes since 1.9: +9 -6 lines
Diff to previous 1.9 (colored)

Remove a useless kernel lock from the TCP socket splicing path.
When send buffer space in the drain socket becomes available, a
task is added to move data, and also the userland was informed.
The latter is not usefull as this would mix a kernel and user stream.
So programs do not wait for this event.  Avoid calling sowakeup()
from sowwakeup(), this also reduces grabing the kernel lock.  Instead
inform the userland about the write event when the splicing is
dissolved in sounsplice().
OK claudio@

Revision 1.9 / (download) - annotate - [select for diffs], Wed Aug 15 12:10:49 2018 UTC (5 years, 9 months ago) by kn
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.8: +11 -9 lines
Diff to previous 1.8 (colored)

Fix struct soplice usage

sys/sys/socketvar.h r1.57 (2014) moved various struct socket fields into
a new struct sosplice field, this adapts usage accordingly.

OK bluhm

Revision 1.8 / (download) - annotate - [select for diffs], Mon Jun 13 21:24:43 2016 UTC (7 years, 11 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1, OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.7: +5 -3 lines
Diff to previous 1.7 (colored)

On localhost a user program may create a socket splicing loop.
After writing data into this loop, it was spinning forever causing
a kernel hang.  Detect the loop by counting how often the same mbuf
is spliced.  If that happens 128 times, assume that there is a loop
and abort the splicing with ELOOP.
Bug found by tedu@;  OK tedu@ millert@ benno@

Revision 1.7 / (download) - annotate - [select for diffs], Wed Jul 17 20:21:55 2013 UTC (10 years, 10 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9, OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7, OPENBSD_5_6_BASE, OPENBSD_5_6, OPENBSD_5_5_BASE, OPENBSD_5_5, OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.6: +5 -5 lines
Diff to previous 1.6 (colored)

use .Mt for AUTHORS email; from Jan Stary <hans at stare dot cz>; ok jmc@

Revision 1.6 / (download) - annotate - [select for diffs], Fri Jan 18 09:47:09 2013 UTC (11 years, 4 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE, OPENBSD_5_3
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

s/the the/the/ in sosplice(9)
spotted by jmc@

Revision 1.5 / (download) - annotate - [select for diffs], Thu Jan 17 22:55:24 2013 UTC (11 years, 4 months ago) by bluhm
Branch: MAIN
Changes since 1.4: +31 -8 lines
Diff to previous 1.4 (colored)

Update the sosplice(9) man page with UDP socket splicing.
help and OK jmc@

Revision 1.4 / (download) - annotate - [select for diffs], Thu Jan 17 16:04:58 2013 UTC (11 years, 4 months ago) by bluhm
Branch: MAIN
Changes since 1.3: +33 -11 lines
Diff to previous 1.3 (colored)

Man page update for the changed semantics of maximum socket splicing.
The error EFBIG can be returned to userland now.
OK jmc@

Revision 1.3 / (download) - annotate - [select for diffs], Mon Jul 4 00:34:43 2011 UTC (12 years, 11 months ago) by mikeb
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0
Changes since 1.2: +16 -4 lines
Diff to previous 1.2 (colored)

Implement an idle timeout for the socket splicing.  A new `sp_idle'
field of the `splice' structure can be used to specify a period of
inactivity after which splicing will be dissolved.  ETIMEDOUT error
retrieved with a SO_ERROR indicates the idle timeout expiration.
With comments from and OK bluhm.

Revision 1.2 / (download) - annotate - [select for diffs], Sat Mar 12 18:31:41 2011 UTC (13 years, 2 months ago) by bluhm
Branch: MAIN
Changes since 1.1: +6 -4 lines
Diff to previous 1.1 (colored)

There existed a race when a process was trying to read from a spliced
socket.  soreceive() releases splsoftnet for uiomove().  In that
moment, somove() could pull the mbuf from the receive buffer.  After
that, soreceive removed the mbuf again.  The corrupted length
accounting resulted in a panic.
The fix is to block read calls in soreceive() until splicing has
been finished.
just commit deraadt@

Revision 1.1 / (download) - annotate - [select for diffs], Tue Mar 8 00:13:41 2011 UTC (13 years, 3 months ago) by bluhm
Branch: MAIN

Add a kernel man page sosplice(9) for the socket splicing implementation.
ok jmc@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.