<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/sys/arch/sh/include/cpu.h, branch jd/queueboosts</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/sys/arch/sh/include/cpu.h?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/sys/arch/sh/include/cpu.h?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2020-05-31T06:23:56Z</updated>
<entry>
<title>introduce "cpu_rnd_messybits" for use instead of nanotime in dev/rnd.c.</title>
<updated>2020-05-31T06:23:56Z</updated>
<author>
<name>dlg</name>
<email>dlg@openbsd.org</email>
</author>
<published>2020-05-31T06:23:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=01802d2cc63d886227ab3b39e923ff13cf516166'/>
<id>urn:sha1:01802d2cc63d886227ab3b39e923ff13cf516166</id>
<content type='text'>
rnd.c uses nanotime to get access to some bits that change quickly
between events that it can mix into the entropy pool. it doesn't
use nanotime to get a monotonically increasing set or ordered and
accurate timestamps, it just wants something with bits that change.

there's been discussions for years about letting rnd use a clock
that's super fast to read, but not necessarily accurate, but it
wasn't until recently that i figured out it wasn't interested in
time at all, so things like keeping a fast clock coherent between
cpu cores or correct according to ntp is unecessary. this means we
can just let rnd read the cycle counters on cpus and things will
be fine.  cpus with cycle counters that vary in their speed and
arent kept consistent between cores may even be desirable in this
context.

so this is the first step in converting rnd.c to reading cycle
counter. it copies the nanotime backend to each arch, and they can
replace it with something MD as a second step later on.

djm@ suggested rnd_messybytes, but we landed on cpu_rnd_messybits.
thanks to visa for his eyes.
ok deraadt@ visa@
deraadt@ says he will help handle any MD fallout that occurs.
</content>
</entry>
<entry>
<title>Add intr_{disable,restore}() for sh.</title>
<updated>2019-03-24T06:09:09Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2019-03-24T06:09:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=d271d0a8fa79e4163245fa802c9a3397ab9c9ad4'/>
<id>urn:sha1:d271d0a8fa79e4163245fa802c9a3397ab9c9ad4</id>
<content type='text'>
Reminded by deraadt@
</content>
</entry>
<entry>
<title>CPU_BUSY_CYCLE(): A new MI statement for busy loop power reduction</title>
<updated>2014-07-11T10:53:07Z</updated>
<author>
<name>uebayasi</name>
<email>uebayasi@openbsd.org</email>
</author>
<published>2014-07-11T10:53:07Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=65f535b7fa77bbec89e3f3bc91362d65d807077e'/>
<id>urn:sha1:65f535b7fa77bbec89e3f3bc91362d65d807077e</id>
<content type='text'>
The new CPU_BUSY_CYCLE() may be put in a busy loop body so that CPU can reduce
power consumption, as Linux's cpu_relax() and FreeBSD's cpu_spinwait().  To
start minimally, use PAUSE on i386/amd64 and empty on others.  The name is
chosen following the existing cpu_idle_*() functions.  Naming and API may be
polished later.

OK kettenis@
</content>
</entry>
<entry>
<title>final removal of daddr64_t.  daddr_t has been 64 bit for a long enough</title>
<updated>2013-06-11T16:42:02Z</updated>
<author>
<name>deraadt</name>
<email>deraadt@openbsd.org</email>
</author>
<published>2013-06-11T16:42:02Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=1abdbfde5173507cdbd2578554582107ac062818'/>
<id>urn:sha1:1abdbfde5173507cdbd2578554582107ac062818</id>
<content type='text'>
test period; i think 3 years ago the last bugs fell out.
ok otto beck others
</content>
</entry>
<entry>
<title>Fix kernel profiling on MP systems by using per-CPU buffers and teach</title>
<updated>2013-03-12T09:37:16Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2013-03-12T09:37:16Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=6377c2eaf8ad0c2174b64c6ffe780441bba1d2d3'/>
<id>urn:sha1:6377c2eaf8ad0c2174b64c6ffe780441bba1d2d3</id>
<content type='text'>
kgmon(8) to deal with them, this time without public header changes.

Previously various CPUs were iterating over the same global buffer at
the same time to modify it and never ended.

This diff includes some ideas submited by Thor Simon to NetBSD via miod@.

ok deraadt@, mikeb@, haesbaert@
</content>
</entry>
<entry>
<title>Back out per-CPU kernel profiling, it shouldn't modify a public header</title>
<updated>2013-02-12T08:06:22Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2013-02-12T08:06:22Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=0f28845859d090da9ecb82dee27886e2614e132f'/>
<id>urn:sha1:0f28845859d090da9ecb82dee27886e2614e132f</id>
<content type='text'>
at this moment.
</content>
</entry>
<entry>
<title>Fix kernel profiling on MP systems by using per-CPU buffer. Previously</title>
<updated>2013-02-11T17:05:25Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2013-02-11T17:05:25Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=fea2fea8dbf45c041f0e1660772024377fc193ba'/>
<id>urn:sha1:fea2fea8dbf45c041f0e1660772024377fc193ba</id>
<content type='text'>
various CPUs were iterating over the same global buffer at the same
time to modify it and never ended.

This diff includes some ideas submited by Thor Simon to NetBSD via miod@.

ok mikeb@, haesbaert@
</content>
</entry>
<entry>
<title>Determine whether we're currently on the alternative signal stack</title>
<updated>2012-12-02T07:03:30Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2012-12-02T07:03:30Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=1eaa59e78ed92dec15d539bbe575e8fca965d599'/>
<id>urn:sha1:1eaa59e78ed92dec15d539bbe575e8fca965d599</id>
<content type='text'>
dynamically, by comparing the stack pointer against the altstack
base and size, so that you get the correct answer if you longjmp
out of the signal handler, as tested by regress/sys/kern/stackjmp/.
Also, fix alt stack handling on vax, where it was completely broken.

Testing and corrections by miod@, krw@, tobiasu@, pirofti@
</content>
</entry>
<entry>
<title>Implement a per-cpu held mutex counter if DIAGNOSTIC on all non-x86 platforms,</title>
<updated>2010-09-28T20:27:52Z</updated>
<author>
<name>miod</name>
<email>miod@openbsd.org</email>
</author>
<published>2010-09-28T20:27:52Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=ac5996fc5a1dbe8bdbc8a240aab9b06330cc43be'/>
<id>urn:sha1:ac5996fc5a1dbe8bdbc8a240aab9b06330cc43be</id>
<content type='text'>
to complete matthew@'s commit of a few days ago, and drop __HAVE_CPU_MUTEX_LEVEL
define. With help from, and ok deraadt@.
</content>
</entry>
<entry>
<title>Do not include &lt;machine/intr.h&gt; from &lt;sh/psl.h&gt;, and fix &lt;sh/cpu.h&gt; which</title>
<updated>2010-04-25T18:11:36Z</updated>
<author>
<name>miod</name>
<email>miod@openbsd.org</email>
</author>
<published>2010-04-25T18:11:36Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=5a99caff226b7696a75849389909077eda310f45'/>
<id>urn:sha1:5a99caff226b7696a75849389909077eda310f45</id>
<content type='text'>
used to depend on &lt;sh/psl.h&gt; bringing &lt;machine/intr.h&gt;.
</content>
</entry>
</feed>
