opnsense-src/sys
Matt Macy 06bf2a6aef Add simple preempt safe epoch API
Read locking is over used in the kernel to guarantee liveness. This API makes
it easy to provide livenes guarantees without atomics.

Includes epoch_test kernel module to stress test the API.

Documentation will follow initial use case.

Test case and improvements to preemption handling in response to discussion
with mjg@

Reviewed by:	imp@, shurd@
Approved by:	sbruno@
2018-05-10 17:55:24 +00:00
..
amd64 Make fpusave() and fpurestore() on amd64 ifuncs. 2018-05-10 15:01:43 +00:00
arm Standardize SPDX tag on files I've added 2018-05-09 16:52:28 +00:00
arm64 arm64: Add ALT_BREAK_TO_DEBUGGER to GENERIC 2018-05-10 09:37:50 +00:00
bsm sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
cam Fix build for platforms using GCC: 2018-05-10 17:22:04 +00:00
cddl Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
compat Remove "All rights reserved" from my files. 2018-05-09 20:57:18 +00:00
conf Add simple preempt safe epoch API 2018-05-10 17:55:24 +00:00
contrib Apply fixes in ena-com 2018-05-10 09:25:51 +00:00
crypto opencrypto: Integrate Chacha20 algorithm into OCF 2018-03-29 04:02:50 +00:00
ddb Fix PPC symbol resolution 2018-05-10 03:59:48 +00:00
dev vt(4): Use default VGA palette 2018-05-10 17:00:33 +00:00
dts arm: overlays: Update to new path-based sugar format 2018-05-04 14:38:48 +00:00
fs Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
gdb amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits 2018-03-06 14:28:37 +00:00
geom Introduce the 'n' flag for the geli attach command. 2018-05-09 20:53:38 +00:00
gnu gnu/dts: Update our copy of arm dts from Linux 4.16 2018-04-20 19:37:08 +00:00
i386 Remove unused bcopyb. 2018-05-10 02:31:54 +00:00
isa Revert r330780, it was improperly tested and results in taking a spin 2018-03-11 20:13:15 +00:00
kern Add simple preempt safe epoch API 2018-05-10 17:55:24 +00:00
kgssapi kgssapi: Remove trivial deadcode 2018-02-14 00:12:03 +00:00
libkern Remove "All rights reserved" from my files. 2018-05-10 06:41:08 +00:00
mips Print the dump progress indicator after calling dump_start(). 2018-05-01 17:32:43 +00:00
modules Add simple preempt safe epoch API 2018-05-10 17:55:24 +00:00
net Add IFCAP_LINKSTATE support to if_loop(4). 2018-05-09 10:50:51 +00:00
net80211 Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
netgraph Correct pseudo misspelling in sys/ comments 2018-02-23 18:15:50 +00:00
netinet Use the full year, for real this time. 2018-05-09 20:26:37 +00:00
netinet6 Fix a panic in the IPv6 multicast code. 2018-05-10 16:19:41 +00:00
netipsec Merge r1.22-1.23 from NetBSD: 2018-04-26 12:23:31 +00:00
netpfil Bring in some last changes in NAT64 implementation: 2018-05-09 11:59:24 +00:00
netsmb Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
nfs Remove support for FDDI networks. 2018-04-11 17:28:24 +00:00
nfsclient style: Remove remaining deprecated MALLOC/FREE macros 2018-01-25 22:25:13 +00:00
nfsserver sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
nlm Use syscall_helper_register() to register syscalls and initialize though 2018-02-10 01:09:22 +00:00
ofed Improve copy-and-pasted versions of SIOCGIFADDR. 2018-03-27 20:51:49 +00:00
opencrypto cryptosoft: Do not exceed crd_len around *crypt_multi 2018-04-19 15:24:21 +00:00
powerpc Fix PPC symbol resolution 2018-05-10 03:59:48 +00:00
riscv Remove the unused fuwintr() and suiwintr() functions. 2018-04-17 18:04:28 +00:00
rpc Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
security Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
sparc64 Report TRAP_BRKPT for breakpoint traps on sparc64. 2018-05-09 15:25:26 +00:00
sys Add simple preempt safe epoch API 2018-05-10 17:55:24 +00:00
teken Pedantic polishing of code to please FlexeLint. 2018-04-08 19:23:50 +00:00
tests Add simple preempt safe epoch API 2018-05-10 17:55:24 +00:00
tools Add dtb overlays support 2018-03-24 21:30:24 +00:00
ufs Renumber soft-update types starting at 1 instead of 0 to avoid confusion 2018-04-05 00:32:01 +00:00
vm Fix some races introduced in r332974. 2018-05-04 17:17:30 +00:00
x86 Put the CPU starting on one line. 2018-05-07 21:09:21 +00:00
xdr sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
xen xen: fix gntdev 2018-05-02 10:19:17 +00:00
Makefile Move sys/boot to stand. Fix all references to new location 2017-11-14 23:02:19 +00:00