1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-02 08:42:48 +00:00
freebsd/sys
Mateusz Guzik deb2e577a2 mac: use a sleepable rmlock instead of an sx lock
If any non-static modules are loaded (and mac_ntpd tends to be), the lock is
taken all the time al over the kernel. On platforms like arm64 this results in
an avoidable significant performance degradation. Since write-locking is almost
never needed, use a primitive optimized towards read-locking.

Sample result of building the kernel on tmpfs 11 times:
stock           11142.80s user 6704.44s system 4924% cpu 6:02.42 total
patched         11118.95s user 2374.94s system 4547% cpu 4:56.71 total
2019-12-27 11:23:32 +00:00
..
amd64 Unbreak build. It seems that mips and amd64 still pull in link_elf.c, so 2019-12-24 16:52:10 +00:00
arm Initialize the bounce pages list in armv[4|6] DMA maps. 2019-12-24 23:43:29 +00:00
arm64 [PowerPC] Implement Secure-PLT jump table processing for ppc32. 2019-12-24 15:56:24 +00:00
bsm Jail and capability mode for shm_rename; add audit support for shm_rename 2019-11-18 13:31:16 +00:00
cam Make pass(4) handle misaligned buffers of MAXPHYS size. 2019-12-23 20:41:55 +00:00
cddl vfs: flatten vop vectors 2019-12-16 00:06:22 +00:00
compat random(9): Deprecate random(9), remove meaningless srandom(9) 2019-12-26 19:41:09 +00:00
conf [PowerPC] Clang powerpcspe build fixes 2019-12-27 05:01:13 +00:00
contrib [PowerPC] Clang powerpcspe build fixes 2019-12-27 05:01:13 +00:00
crypto
ddb sleep(9), sleepqueue(9): const'ify wchan pointers 2019-12-24 16:19:33 +00:00
dev [gpioths] Fix GPIOTHS_DEBUG 2019-12-27 04:11:14 +00:00
dts
fs Change NFSv4.1 and NFSv4.2 error strings to start with lower case letter. 2019-12-26 21:06:34 +00:00
gdb [PPC] Handle qOffsets packet 2019-12-16 13:17:39 +00:00
geom Reimplement gvinum orphanization. 2019-12-27 01:36:53 +00:00
gnu Import DTS files for riscv from Linux 5.4 2019-12-03 09:12:53 +00:00
i386 [PowerPC] Implement Secure-PLT jump table processing for ppc32. 2019-12-24 15:56:24 +00:00
isa syscons: drop keyboard index from softc 2019-12-23 21:32:07 +00:00
kern Add read-mostly sleepable locks 2019-12-27 11:19:57 +00:00
kgssapi
libkern random(9): Deprecate random(9), remove meaningless srandom(9) 2019-12-26 19:41:09 +00:00
mips Unbreak build. It seems that mips and amd64 still pull in link_elf.c, so 2019-12-24 16:52:10 +00:00
modules Compile uart_cpu_acpi.c, added in r348195, into uart.ko. 2019-12-22 22:10:20 +00:00
net Plug some ifaddr refcount leaks. 2019-12-27 01:12:54 +00:00
net80211
netgraph Remove the deprecated timeout(9) interface. 2019-12-13 21:03:12 +00:00
netinet Improve input validation for some parameters having a too small 2019-12-20 15:25:08 +00:00
netinet6 Remove useless code from in6_rmx.c 2019-12-18 22:10:56 +00:00
netipsec Fix m_pullup() problem after removing PULLDOWN_TESTs and KAME EXT_*macros. 2019-12-01 00:22:04 +00:00
netpfil ipfw: Don't rollback state in alloc_table_vidx() if atomicity is not required. 2019-12-19 10:22:16 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Prevent potential underflow in ibcore. 2019-11-15 11:46:53 +00:00
opencrypto Add support for TLS 1.3 using AES-GCM to the OCF backend for KTLS. 2019-12-18 01:37:00 +00:00
powerpc powerpc: Move ppc32_runtime_resolve() declaration to the right place 2019-12-26 22:47:24 +00:00
riscv [PowerPC] Implement Secure-PLT jump table processing for ppc32. 2019-12-24 15:56:24 +00:00
rpc Change r355157 to make svc_rpc_gss_lifetime_max a static. 2019-11-28 02:18:51 +00:00
security mac: use a sleepable rmlock instead of an sx lock 2019-12-27 11:23:32 +00:00
sparc64 [PowerPC] Implement Secure-PLT jump table processing for ppc32. 2019-12-24 15:56:24 +00:00
sys Add read-mostly sleepable locks 2019-12-27 11:19:57 +00:00
teken
tests
tools vfs: allow tail call optimisation in vops in the common case 2019-12-16 00:07:51 +00:00
ufs Drop a sleepable lock when we plan on sleeping 2019-12-18 16:01:15 +00:00
vm Fix a pair of bugs introduced in r356002. When we reclaim physical pages we 2019-12-27 01:50:16 +00:00
x86 Introduce the concept of busdma tag templates. A template can be allocated 2019-12-24 14:48:46 +00:00
xdr
xen
Makefile