<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/sys/arch/amd64/include/cpuvar.h, branch jd/queueboosts</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/sys/arch/amd64/include/cpuvar.h?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/sys/arch/amd64/include/cpuvar.h?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2019-08-09T15:20:04Z</updated>
<entry>
<title>Add TSC synchronization for multiprocessor machines.</title>
<updated>2019-08-09T15:20:04Z</updated>
<author>
<name>pirofti</name>
<email>pirofti@openbsd.org</email>
</author>
<published>2019-08-09T15:20:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=8d9f4b32f43f4b9aeb465c2f55b56a13d021b7d8'/>
<id>urn:sha1:8d9f4b32f43f4b9aeb465c2f55b56a13d021b7d8</id>
<content type='text'>
CPU0 is the reference clock and all others are skewed. During CPU
initialization the clocks synchronize by keeping a registry of each CPU
clock skewness and adapting the TSC read routine accordingly.

This commit also re-enables TSC as the default time source.

Future work includes MSR-based synchronization via IA32_TSC_ADJUST
and perhaps adding a task that is executed periodically to keep the
clocks in sync in case they drift apart.

Inspired from NetBSD.
Tested by many and thoroughly reviewed by kettenis@, thank you!

OK kettenis@, deraadt@
</content>
</entry>
<entry>
<title>Recalibrate TSC timecounter with HPET and PM timer</title>
<updated>2017-10-06T13:33:53Z</updated>
<author>
<name>mikeb</name>
<email>mikeb@openbsd.org</email>
</author>
<published>2017-10-06T13:33:53Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=eb35b7b4712f2bf07716cd4a755bb17a07e3a5f3'/>
<id>urn:sha1:eb35b7b4712f2bf07716cd4a755bb17a07e3a5f3</id>
<content type='text'>
If frequency of an invariant (non-stop) time stamp counter is measured
using an independent working timecounter that has a known frequency, we
can assume that the measured TSC frequency is as good as the resolution
of the timecounter that we use to perform the measurement. This lets us
switch from this high quality but expensive source to the cheaper TSC
without sacrificing precision on a wide range of modern CPUs.

From Adam Steen &lt;adam@adamsteen.com.au&gt; with tweaks from reyk@ and myself.

Tested by brynet@, sthen@ and others, OK mlarkin, sthen
</content>
</entry>
<entry>
<title>Store the acpi processor ID/UID in struct cpu_info, and use it to attach</title>
<updated>2016-07-28T21:57:56Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2016-07-28T21:57:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=a2e7ce2e7e7bf515b258c93881714cc7fbbb0dd4'/>
<id>urn:sha1:a2e7ce2e7e7bf515b258c93881714cc7fbbb0dd4</id>
<content type='text'>
acpicpu(4) drivers to the right cpu(4).

ok mlarkin@, guenther@
</content>
</entry>
<entry>
<title>Make {x86,i82489,x2apic,i386}_ipi return void</title>
<updated>2015-07-18T19:21:02Z</updated>
<author>
<name>sf</name>
<email>sf@openbsd.org</email>
</author>
<published>2015-07-18T19:21:02Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=1245a68aafca08e5077fac176e66d41ca123cdd2'/>
<id>urn:sha1:1245a68aafca08e5077fac176e66d41ca123cdd2</id>
<content type='text'>
They always returned 0

ok mlarkin@ kettenis@
</content>
</entry>
<entry>
<title>Make *_ipi_init return void on i386/amd64</title>
<updated>2015-07-18T19:19:14Z</updated>
<author>
<name>sf</name>
<email>sf@openbsd.org</email>
</author>
<published>2015-07-18T19:19:14Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=bce2cee5f700db8f9163f2b421d2f7092c8964f4'/>
<id>urn:sha1:bce2cee5f700db8f9163f2b421d2f7092c8964f4</id>
<content type='text'>
They always returned 0

ok mlarkin@ kettenis@
</content>
</entry>
<entry>
<title>Add support for x2apic mode</title>
<updated>2015-04-19T19:45:21Z</updated>
<author>
<name>sf</name>
<email>sf@openbsd.org</email>
</author>
<published>2015-04-19T19:45:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=984d47442509d56351882771252bcf7b658a4e08'/>
<id>urn:sha1:984d47442509d56351882771252bcf7b658a4e08</id>
<content type='text'>
This is currently only enabled on hypervisors because on real hardware, it
requires interrupt remapping which we don't support yet. But on virtualization
it reduces the number of vmexits required per IPI from 4 to 1, causing a
significant speed-up for MP guests.

ok kettenis@
</content>
</entry>
<entry>
<title>tedu x86_self_ipi()/i386_self_ipi()</title>
<updated>2015-01-27T20:50:46Z</updated>
<author>
<name>sf</name>
<email>sf@openbsd.org</email>
</author>
<published>2015-01-27T20:50:46Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=c22a8524b29de9bfd931ebd4b946eded8ca07ed4'/>
<id>urn:sha1:c22a8524b29de9bfd931ebd4b946eded8ca07ed4</id>
<content type='text'>
They are not used anywhere.

ok mlarkin@
</content>
</entry>
<entry>
<title>First pass at removing clauses 3 and 4 from NetBSD licenses.</title>
<updated>2008-06-26T05:42:03Z</updated>
<author>
<name>ray</name>
<email>ray@openbsd.org</email>
</author>
<published>2008-06-26T05:42:03Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=d874cce4b1d9fe6b41c9e4f2117a77d8a4a37b92'/>
<id>urn:sha1:d874cce4b1d9fe6b41c9e4f2117a77d8a4a37b92</id>
<content type='text'>
Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.

OK deraadt@
</content>
</entry>
<entry>
<title>garbage collect the cpus_running global variable;</title>
<updated>2008-04-13T11:35:55Z</updated>
<author>
<name>thib</name>
<email>thib@openbsd.org</email>
</author>
<published>2008-04-13T11:35:55Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=62c271d82bf6093e571c318eaac6473d7566aa6c'/>
<id>urn:sha1:62c271d82bf6093e571c318eaac6473d7566aa6c</id>
<content type='text'>
pointed out by and ok drahn@, toby@;
</content>
</entry>
<entry>
<title>an amd64 arch support.</title>
<updated>2004-01-28T01:39:38Z</updated>
<author>
<name>mickey</name>
<email>mickey@openbsd.org</email>
</author>
<published>2004-01-28T01:39:38Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=f5df1827e930693b77256fbf32ab5050c01d960c'/>
<id>urn:sha1:f5df1827e930693b77256fbf32ab5050c01d960c</id>
<content type='text'>
hacked by art@ from netbsd sources and then later debugged
by me into the shape where it can host itself.
no bootloader yet as needs redoing from the
recent advanced i386 sources (anyone? ;)
</content>
</entry>
</feed>
