<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/sys/kern/uipc_socket2.c, branch jd/queueboosts</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/sys/kern/uipc_socket2.c?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/sys/kern/uipc_socket2.c?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2020-04-11T14:07:06Z</updated>
<entry>
<title>Add soassertlocked() checks to sbappend() and sbappendaddr(). This brings</title>
<updated>2020-04-11T14:07:06Z</updated>
<author>
<name>claudio</name>
<email>claudio@openbsd.org</email>
</author>
<published>2020-04-11T14:07:06Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=18932c7fd5f88229adac234d0566339aefcbc3e9'/>
<id>urn:sha1:18932c7fd5f88229adac234d0566339aefcbc3e9</id>
<content type='text'>
them in line with sbappendstream() and sbappendrecord().
Agreed by mpi@
</content>
</entry>
<entry>
<title>Push the KERNEL_LOCK() insidge pgsigio() and selwakeup().</title>
<updated>2020-02-14T14:32:44Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2020-02-14T14:32:44Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=112e0b7cd8c0810f5e6ec8c11d147cff217a606d'/>
<id>urn:sha1:112e0b7cd8c0810f5e6ec8c11d147cff217a606d</id>
<content type='text'>
The 3 subsystems: signal, poll/select and kqueue can now be addressed
separatly.

Note that bpf(4) and audio(4) currently delay the wakeups to a separate
context in order to respect the KERNEL_LOCK() requirement.  Sockets (UDP,
TCP) and pipes spin to grab the lock for the sames reasons.

ok anton@, visa@
</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>Use the actual cluster size instead of fixed MCLBYTES for the</title>
<updated>2019-04-16T13:15:32Z</updated>
<author>
<name>yasuoka</name>
<email>yasuoka@openbsd.org</email>
</author>
<published>2019-04-16T13:15:32Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=47e36d94cf73fe2760b8471620a58feafe448c87'/>
<id>urn:sha1:47e36d94cf73fe2760b8471620a58feafe448c87</id>
<content type='text'>
condition in sb_compress().  Currently the actual cluster size might
be 9KB even if the mtu is 1500, in this case a lot of memory space had
been wasted, since sbcompress() doesn't compress because of previous
condition.

ok dlg claudio
</content>
</entry>
<entry>
<title>let sbcreatecontrol take a const void * instead of a caddr_t.</title>
<updated>2019-02-15T05:55:21Z</updated>
<author>
<name>dlg</name>
<email>dlg@openbsd.org</email>
</author>
<published>2019-02-15T05:55:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=edab645e68b5bf4d4b590ebc78778915ffb91f6c'/>
<id>urn:sha1:edab645e68b5bf4d4b590ebc78778915ffb91f6c</id>
<content type='text'>
this makes it easier to call since you don't have to cast to caddr_t
if it's a void *. this also changes a size argument from int to
size_t.

ok claudio@
</content>
</entry>
<entry>
<title>Utilize sigio with sockets.</title>
<updated>2018-11-19T13:15:37Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2018-11-19T13:15:37Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=e22141d5ca3312610ade1c4dcf8713b7639f70a5'/>
<id>urn:sha1:e22141d5ca3312610ade1c4dcf8713b7639f70a5</id>
<content type='text'>
OK mpi@
</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>Now that most archs have better NMBCLUSTERS defaults it is possible to bring</title>
<updated>2018-10-29T12:12:27Z</updated>
<author>
<name>claudio</name>
<email>claudio@openbsd.org</email>
</author>
<published>2018-10-29T12:12:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=44cecdb933a2e4612e8c07fd77c071abf0b43c03'/>
<id>urn:sha1:44cecdb933a2e4612e8c07fd77c071abf0b43c03</id>
<content type='text'>
back rev 1.90.
----
mbufs and mbuf clusters are now backed by large pools. Because of this
we can relax the oversubscribe limit of socketbuffers a fair bit.
Instead of maxing out as sb_max * 1.125 or 2 * sb_hiwat the maximum is
increased to 8 * sb_hiwat -- which seems to be a good compromise between
memory waste and better socket buffer usage.
OK deraadt@
----
ok benno@
</content>
</entry>
<entry>
<title>After removing raw_usrreq() from route and pfkey, the global sockaddr</title>
<updated>2018-07-10T10:02:14Z</updated>
<author>
<name>bluhm</name>
<email>bluhm@openbsd.org</email>
</author>
<published>2018-07-10T10:02:14Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=c80d9406c5399bc5d1503cce2cf5ab7abcbfa7c5'/>
<id>urn:sha1:c80d9406c5399bc5d1503cce2cf5ab7abcbfa7c5</id>
<content type='text'>
variables can be delared constant.
OK claudio@ mpi@
</content>
</entry>
<entry>
<title>Do not unlock the KERNEL_LOCK() unconditionally in sounlock().</title>
<updated>2018-06-11T08:57:35Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2018-06-11T08:57:35Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=a8d8dd23955f49149264357db6db371bf1b8accf'/>
<id>urn:sha1:a8d8dd23955f49149264357db6db371bf1b8accf</id>
<content type='text'>
Instead introduce two flags to deal with global lock recursion.  This
is necessary until we get per-socket lock.

Req. by and ok visa@
</content>
</entry>
</feed>
