<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/sys/nfs/nfs_socket.c, branch jd/queueboosts</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/sys/nfs/nfs_socket.c?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/sys/nfs/nfs_socket.c?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2020-01-21T00:18:13Z</updated>
<entry>
<title>sys/nfs: misc. tsleep(9) -&gt; tsleep_nsec(9); ok mpi@</title>
<updated>2020-01-21T00:18:13Z</updated>
<author>
<name>cheloha</name>
<email>cheloha@openbsd.org</email>
</author>
<published>2020-01-21T00:18:13Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=a600cd2797a115f98c314af7b17d336cc49523cd'/>
<id>urn:sha1:a600cd2797a115f98c314af7b17d336cc49523cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Keep socket timeout intervals in nsecs and use them with tsleep_nsec(9).</title>
<updated>2020-01-15T13:17:35Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2020-01-15T13:17:35Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=1a273344ae32a61ecc379c236ac9b23f6623257d'/>
<id>urn:sha1:1a273344ae32a61ecc379c236ac9b23f6623257d</id>
<content type='text'>
Introduce and use TIMEVAL_TO_NSEC() to convert SO_RCVTIMEO/SO_SNDTIMEO
specified values into nanoseconds.  As a side effect it is now possible
to specify a timeout larger that (USHRT_MAX / 100) seconds.

To keep code simple `so_linger' now represents a number of seconds with
0 meaning no timeout or 'infinity'.

Yes, the 0 -&gt; INFSLP API change makes conversions complicated as many
timeout holders are still memset()'d.

Inputs from cheloha@ and bluhm@, ok bluhm@
</content>
</entry>
<entry>
<title>Convert infinite sleeps to tsleep_nsec(9).</title>
<updated>2019-12-05T10:41:57Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2019-12-05T10:41:57Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=ae991a59e6428f3b2827acac3fe1ff209967e1e5'/>
<id>urn:sha1:ae991a59e6428f3b2827acac3fe1ff209967e1e5</id>
<content type='text'>
ok jca@
</content>
</entry>
<entry>
<title>When killing a process, the signal is handled by any thread that</title>
<updated>2019-05-13T19:21:31Z</updated>
<author>
<name>bluhm</name>
<email>bluhm@openbsd.org</email>
</author>
<published>2019-05-13T19:21:31Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=788422d65be41111bc05f25ec194535e3ae7eb6c'/>
<id>urn:sha1:788422d65be41111bc05f25ec194535e3ae7eb6c</id>
<content type='text'>
does not block the signal.  If all threads block the signal, we
delivered it to the main thread.  This does not conform to POSIX.
If any thread unblocks the signal, it should be delivered immediately
to this thread.
Mark such signals pending at the process instead of a single thread.
Then any thread can handle it later.
OK kettenis@ guenther@
</content>
</entry>
<entry>
<title>M_LEADINGSPACE() and M_TRAILINGSPACE() are just wrappers for</title>
<updated>2018-11-09T14:14:31Z</updated>
<author>
<name>claudio</name>
<email>claudio@openbsd.org</email>
</author>
<published>2018-11-09T14:14:31Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=b5b7f62e3c22c1e16592be047f41a6fe57ed854d'/>
<id>urn:sha1:b5b7f62e3c22c1e16592be047f41a6fe57ed854d</id>
<content type='text'>
m_leadingspace() and m_trailingspace(). Convert all callers to call
directly the functions and remove the defines.
OK krw@, mpi@
</content>
</entry>
<entry>
<title>Instead of calculating the mbuf packet header length here and there,</title>
<updated>2018-09-10T16:14:07Z</updated>
<author>
<name>bluhm</name>
<email>bluhm@openbsd.org</email>
</author>
<published>2018-09-10T16:14:07Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=f02cb2e83cda2e7c843af31d86dd656fd741d8ab'/>
<id>urn:sha1:f02cb2e83cda2e7c843af31d86dd656fd741d8ab</id>
<content type='text'>
put the algorithm into a new function m_calchdrlen().  Also set an
uninitialized m_len to 0 in NFS code.
OK claudio@
</content>
</entry>
<entry>
<title>Use FNONBLOCK instead of SS_NBIO to check/indicate that the I/O mode</title>
<updated>2018-07-30T12:22:14Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2018-07-30T12:22:14Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=4a4dc3ea4c4158dccd297c17b5ac5a6ff2af5515'/>
<id>urn:sha1:4a4dc3ea4c4158dccd297c17b5ac5a6ff2af5515</id>
<content type='text'>
for sockets is non-blocking.

This allows us to G/C SS_NBIO.  Having to keep the two flags in sync
in a mp-safe way is complicated.

This change introduce a behavior change in sosplice(), it can now
always block.  However this should not matter much due to the socket
lock being taken beforhand.

ok bluhm@, benno@, visa@
</content>
</entry>
<entry>
<title>Pass the socket to sounlock(), this prepare the terrain for per-socket</title>
<updated>2018-06-06T06:55:22Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2018-06-06T06:55:22Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=34bd5584fb2db3006ff476d7134486452e236076'/>
<id>urn:sha1:34bd5584fb2db3006ff476d7134486452e236076</id>
<content type='text'>
locking.

ok visa@, bluhm@
</content>
</entry>
<entry>
<title>nfs_connect() returns EINVAL at the beginning if nm_sotype is</title>
<updated>2017-09-07T11:35:34Z</updated>
<author>
<name>bluhm</name>
<email>bluhm@openbsd.org</email>
</author>
<published>2017-09-07T11:35:34Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=4d661fe08286eae646fd95cfaabd9d2efa55ef0a'/>
<id>urn:sha1:4d661fe08286eae646fd95cfaabd9d2efa55ef0a</id>
<content type='text'>
invalid.  But the compiler cannot know whether it has changed in
the meantime, so in the else case a bunch of variables would not
be initialized.  Add a panic() there to change the compiler's
assumptions, the code should not be reached anyway.
found by clang -Wuninitialized; OK deraadt@
</content>
</entry>
<entry>
<title>Preallocate option mbufs in order to reduce solock()/sounlock() dances.</title>
<updated>2017-09-05T08:02:48Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2017-09-05T08:02:48Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=b0c492408c1a7e230bd2412e9f4f7daa61b83eda'/>
<id>urn:sha1:b0c492408c1a7e230bd2412e9f4f7daa61b83eda</id>
<content type='text'>
Finally protect the last `so_rcv' and `so_snd' accesses with the socket
lock.

ok visa@, bluhm@
</content>
</entry>
</feed>
