freebsd-dev/sys
Mateusz Guzik 4cace859c2 vfs: convert struct mount counters to per-cpu
There are 3 counters modified all the time in this structure - one for
keeping the structure alive, one for preventing unmount and one for
tracking active writers. Exact values of these counters are very rarely
needed, which makes them a prime candidate for conversion to a per-cpu
scheme, resulting in much better performance.

Sample benchmark performing fstatfs (modifying 2 out of 3 counters) on
a 104-way 2 socket Skylake system:
before:   852393 ops/s
after:  76682077 ops/s

Reviewed by:	kib, jeff
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D21637
2019-09-16 21:37:47 +00:00
..
amd64 Fix a couple of nits in r352110. 2019-09-16 15:06:19 +00:00
arm Revert r352406, which contained changes I didn't intend to commit. 2019-09-16 15:04:45 +00:00
arm64 Revert r352406, which contained changes I didn't intend to commit. 2019-09-16 15:04:45 +00:00
bsm
cam Fix assumptions of only one device per SES slot. 2019-09-11 03:25:30 +00:00
cddl vfs: manage mnt_ref with atomics 2019-09-16 21:31:02 +00:00
compat linux: add trivial renameat2 implementation 2019-09-11 13:01:59 +00:00
conf powerpc64/powernv: Add opal NVRAM driver for PowerNV systems 2019-09-14 03:30:34 +00:00
contrib Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
crypto Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
ddb ddb(4): Add some support for lexing IPv6 addresses 2019-09-09 16:32:23 +00:00
dev Revert r352406, which contained changes I didn't intend to commit. 2019-09-16 15:04:45 +00:00
dts dtso: allwinner: Add an overlay for H3 thermal node 2019-08-24 13:26:34 +00:00
fs vfs: convert struct mount counters to per-cpu 2019-09-16 21:37:47 +00:00
gdb gdb(4): Root a sysctl tree at 'debug.gdb.' 2019-09-08 22:52:47 +00:00
geom Add a "count_until_fail" option to gnop, which says to start failing 2019-09-13 23:03:56 +00:00
gnu arm: dts: am33xx: Fix the region for uart0 2019-08-07 13:11:53 +00:00
i386 Revert r352406, which contained changes I didn't intend to commit. 2019-09-16 15:04:45 +00:00
isa
kern vfs: convert struct mount counters to per-cpu 2019-09-16 21:37:47 +00:00
kgssapi Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
libkern Remove zlib 1.0.4 from kernel. 2019-08-25 17:13:00 +00:00
mips Revert r352406, which contained changes I didn't intend to commit. 2019-09-16 15:04:45 +00:00
modules powerpc64/powernv: Add opal NVRAM driver for PowerNV systems 2019-09-14 03:30:34 +00:00
net SIOCSIFNAME: Do nothing if we're not actually changing 2019-09-12 15:36:48 +00:00
net80211 Enhance the comment ieee80211_add_channel() to avoid a 2019-06-10 14:31:18 +00:00
netgraph avoid holding PCB mutex during copyin/copyout() 2019-08-30 16:35:31 +00:00
netinet Don't write to memory outside of the allocated array for SACK blocks. 2019-09-16 08:18:05 +00:00
netinet6 Add kernel-side support for in-kernel TLS. 2019-08-27 00:01:56 +00:00
netipsec Fix broken window replay check that will allow old packet to be accepted. 2019-09-06 14:30:23 +00:00
netpfil Drivers may pass runt packets to filter. This is okay. 2019-09-13 22:36:04 +00:00
netsmb Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
nfs
nfsclient
nfsserver
nlm
ofed OFED: Fix accidental double-copy of rdma_sdp.h in r351176 2019-08-18 04:19:41 +00:00
opencrypto Adjust the deprecated warnings for /dev/crypto to be less noisy. 2019-08-27 21:29:37 +00:00
powerpc Revert r352406, which contained changes I didn't intend to commit. 2019-09-16 15:04:45 +00:00
riscv Revert r352406, which contained changes I didn't intend to commit. 2019-09-16 15:04:45 +00:00
rpc Avoid relying on header pollution from sys/refcount.h. 2019-07-29 20:26:01 +00:00
security vm_map_simplify_entry considers merging an entry with its two 2019-08-25 07:06:51 +00:00
sparc64 Revert r352406, which contained changes I didn't intend to commit. 2019-09-16 15:04:45 +00:00
sys vfs: convert struct mount counters to per-cpu 2019-09-16 21:37:47 +00:00
teken Adjust teken to allow build as part of loader 2019-09-05 18:07:40 +00:00
tests
tools fw_stub.awk: use @generated tag in generated files 2019-09-11 13:35:22 +00:00
ufs vfs: convert struct mount counters to per-cpu 2019-09-16 21:37:47 +00:00
vm vfs: manage mnt_ref with atomics 2019-09-16 21:31:02 +00:00
x86 Move phys_avail definition into MI code. It is consumed in the MI layer and 2019-08-16 00:45:14 +00:00
xdr
xen
Makefile