freebsd-dev/sys
Mateusz Guzik 31ad4050fe lockmgr: add adaptive spinning
It is very conservative. Only spinning when LK_ADAPTIVE is passed, only on
exclusive lock and never when any waiters are present. buffer cache is remains
not spinning.

This reduces total sleep times during buildworld etc., but it does not shorten
total real time (culprits are contention in the vm subsystem along with slock +
upgrade which is not covered).

For microbenchmarks: open3_processes -t 52 (open/close of the same file for
writing) ops/s:
before: 258845
after: 801638

Reviewed by:	kib
Tested by:	pho
Differential Revision:	https://reviews.freebsd.org/D25753
2020-07-22 12:30:31 +00:00
..
amd64 Avoid code duplicaiton by using ipi_selected(). 2020-07-21 17:18:38 +00:00
arm Switch from SCTP to SCTP_SUPPORT in GENERIC configs. 2020-07-16 15:09:04 +00:00
arm64 Regen after r363304. 2020-07-18 11:31:31 +00:00
bsm bsm: add AUE_CLOSERANGE 2020-04-24 01:27:25 +00:00
cam Hold the mutex when releasing a callout. 2020-07-16 20:43:28 +00:00
cddl dtrace/fbt: fix return probe arguments on arm 2020-07-21 07:41:36 +00:00
compat Make linux(4) support the BLKPBSZGET ioctl. Oracle uses it. 2020-07-19 12:25:03 +00:00
conf Move the Intel DMAR busdma backend to a generic place so 2020-07-21 10:38:51 +00:00
contrib MFV: r363292 2020-07-18 07:35:34 +00:00
crypto padlock: fix Via Padlock with 192-bit keys 2020-07-20 16:12:14 +00:00
ddb [PowerPC] More relocation fixes 2020-06-21 03:39:26 +00:00
dev Only write to VIRTIO_MMIO_GUEST_PAGE_SIZE with virtio mmio version 1 2020-07-21 14:25:36 +00:00
dts Remove licenses 2020-06-04 17:20:58 +00:00
fs Transition from rtrequest1_fib() to rib_action(). 2020-07-21 19:56:13 +00:00
gdb
geom Consistently use gctl_get_provider instead of home-grown variants. 2020-07-22 02:15:21 +00:00
gnu dts: patch the am33xx dts for upcoming clock support 2020-06-05 20:14:54 +00:00
i386 Avoid code duplicaiton by using ipi_selected(). 2020-07-21 17:18:38 +00:00
isa
kern lockmgr: add adaptive spinning 2020-07-22 12:30:31 +00:00
kgssapi Add support for optional separate output buffers to in-kernel crypto. 2020-05-25 22:12:04 +00:00
libkern libkern: Add arc4random_uniform 2020-05-23 17:51:06 +00:00
mips Revert r240317 to prevent leaking pmap entries 2020-07-16 23:29:26 +00:00
modules Make efirt module dependent on MK_EFI 2020-07-19 23:19:09 +00:00
net Transition from rtrequest1_fib() to rib_action(). 2020-07-21 19:56:13 +00:00
net80211 [net80211] Add new privileges; restrict what can be done in a jail. 2020-07-19 15:16:27 +00:00
netgraph Fix L2CAP ACL packet PB(Packet Boundary) flag for LE PDU. 2020-07-17 15:50:03 +00:00
netinet Fix style and comment around concave/convex regions in TCP cubic. 2020-07-21 16:21:52 +00:00
netinet6 Transition from rtrequest1_fib() to rib_action(). 2020-07-21 19:56:13 +00:00
netipsec Simplify IPsec transform-specific teardown. 2020-06-25 23:59:16 +00:00
netpfil Don't print VNET pointer when initializing dummynet 2020-07-13 13:35:36 +00:00
netsmb
nfs Transition from rtrequest1_fib() to rib_action(). 2020-07-21 19:56:13 +00:00
nfsclient
nfsserver
nlm Fix export_args ex_flags field so that is 64bits, the same as mnt_flags. 2020-06-14 00:10:18 +00:00
ofed Infiniband clients must be attached and detached in a specific order in ibcore. 2020-07-06 08:50:11 +00:00
opencrypto Don't dynamically allocate data structures for KTLS crypto requests. 2020-07-20 22:32:39 +00:00
powerpc Revert r240317 to prevent leaking pmap entries 2020-07-16 23:29:26 +00:00
riscv INTRNG: only shuffle for !EARLY_AP_STARTUP 2020-07-21 22:47:02 +00:00
rpc Fix up a comment added by r362455. 2020-06-21 02:49:56 +00:00
security vfs: fix vn_poll performance with either MAC or AUDIT 2020-07-16 14:09:18 +00:00
sys lockmgr: add adaptive spinning 2020-07-22 12:30:31 +00:00
teken
tests
tools
ufs lockmgr: add adaptive spinning 2020-07-22 12:30:31 +00:00
vm Fix vnode_pager handling of read ahead/behind pages when a disk read fails. 2020-07-17 23:10:35 +00:00
x86 Move sys/iommu.h to dev/iommu/ as a part of generic IOMMU busdma backend. 2020-07-21 13:50:10 +00:00
xdr Split XDR into separate kernel module. Make krpc depend on xdr. 2020-04-17 06:04:20 +00:00
xen
Makefile