freebsd-skq/sys
Mateusz Guzik 09bdec20a0 locks: slightly depessimize lockstat
The slow path is always taken when lockstat is enabled. This induces
rdtsc (or other) calls to get the cycle count even when there was no
contention.

Still go to the slow path to not mess with the fast path, but avoid
the heavy lifting unless necessary.

This reduces sys and real time during -j 80 buildkernel:
before: 3651.84s user 1105.59s system 5394% cpu 1:28.18 total
after: 3685.99s user 975.74s system 5450% cpu 1:25.53 total
disabled: 3697.96s user 411.13s system 5261% cpu 1:18.10 total

So note this is still a significant hit.

LOCK_PROFILING results are not affected.
2018-03-17 19:26:33 +00:00
..
amd64 Share a single bsd-linux errno table across MD consumers 2018-03-16 14:46:38 +00:00
arm Add the header file needed for the recently-added call to pagedaemon_wakeup(). 2018-03-16 16:06:25 +00:00
arm64 EFIRT: SetVirtualAddressMap with 1:1 mapping after exiting boot services 2018-03-13 17:10:52 +00:00
bsm
cam Only take out the periph lock when we're modifying the flags of the 2018-03-17 16:04:06 +00:00
cddl MFV r330973: 9164 assert: newds == os->os_dsl_dataset 2018-03-15 08:49:21 +00:00
compat linux_errno.c: add newer errno values 2018-03-16 14:51:47 +00:00
conf Add EFI to kernel options. 2018-03-17 17:18:29 +00:00
contrib Merge ACPICA 20180313. 2018-03-14 23:45:48 +00:00
crypto Garbage collect unused chacha20 code 2018-03-16 07:11:53 +00:00
ddb db_script_exec: use a saved script name when reporting commands executed 2018-03-04 13:27:21 +00:00
dev random(4): Poll for signals during large reads 2018-03-16 18:50:26 +00:00
dts [rpi] remove IRQ support for BCM233x RNG 2018-03-10 02:49:58 +00:00
fs Revert r313780 (UFS_ prefix) 2018-03-17 12:59:55 +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 g_access: deal with races created by geoms that drop the topology lock 2018-03-15 09:16:10 +00:00
gnu bwn(4): txpid2g/txpid5g[lh] are not defined after sromrev 7; the default 2018-02-13 17:43:54 +00:00
i386 Share a single bsd-linux errno table across MD consumers 2018-03-16 14:46:38 +00:00
isa Revert r330780, it was improperly tested and results in taking a spin 2018-03-11 20:13:15 +00:00
kern locks: slightly depessimize lockstat 2018-03-17 19:26:33 +00:00
kgssapi kgssapi: Remove trivial deadcode 2018-02-14 00:12:03 +00:00
libkern iconv uses strlen directly on user supplied memory 2018-02-26 18:23:36 +00:00
mips MIPS: Implement fue*word* and casueword* in assembly. 2018-03-12 22:10:06 +00:00
modules Use kern.opts.mk instead of bsd.own.mk (which includes src.opts.mk) 2018-03-17 17:18:46 +00:00
net Fix outgoing TCP/UDP packet drop on arp/ndp entry expiration. 2018-03-17 17:05:48 +00:00
net80211 net80211: wrap protection frame allocation into ieee80211_alloc_prot() 2018-03-09 11:33:56 +00:00
netgraph Correct pseudo misspelling in sys/ comments 2018-02-23 18:15:50 +00:00
netinet Fix outgoing TCP/UDP packet drop on arp/ndp entry expiration. 2018-03-17 17:05:48 +00:00
netinet6 Fix outgoing TCP/UDP packet drop on arp/ndp entry expiration. 2018-03-17 17:05:48 +00:00
netipsec Rework key_sendup_mbuf() a bit: 2018-03-11 19:14:01 +00:00
netpfil Do not try to reassemble IPv6 fragments in "reass" rule. 2018-03-12 09:40:46 +00:00
netsmb Unsign some values related to allocation. 2018-01-22 02:08:10 +00:00
nfs Modernize nfssvc(2) registartion. 2018-02-08 20:09:42 +00:00
nfsclient style: Remove remaining deprecated MALLOC/FREE macros 2018-01-25 22:25:13 +00:00
nfsserver
nlm Use syscall_helper_register() to register syscalls and initialize though 2018-02-10 01:09:22 +00:00
ofed Make sure VNET is set when calling sa6_recoverscope() in ibcore. 2018-03-07 13:32:52 +00:00
opencrypto Move per-operation data out of the csession structure. 2018-01-26 23:21:50 +00:00
powerpc Reverting r330925 for now 2018-03-15 06:19:45 +00:00
riscv Unify bulk free operations in several pmaps. 2018-03-04 20:53:20 +00:00
rpc Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
security audit(4): fix a typo in a comment 2018-03-17 17:56:08 +00:00
sparc64 amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits 2018-03-06 14:28:37 +00:00
sys Add _IOC_NEWLEN() and _IOC_NEWTYPE() macros. 2018-03-16 22:23:04 +00:00
teken
tests
tools Avoid using \$. It's an unknown escape sequence. Some awks warn about 2018-01-28 05:13:08 +00:00
ufs Revert r313780 (UFS_ prefix) 2018-03-17 12:59:55 +00:00
vm Fix GCC build: Remove redundant pagedaemon_wakeup declaration 2018-03-16 07:05:09 +00:00
x86 ANSIfy sys/x86 2018-03-17 01:40:09 +00:00
xdr
xen
Makefile