freebsd-skq/sys/fs
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
..
autofs Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
cd9660 cd9660: Remove redundant brelse() after r294954 2019-09-06 08:07:36 +00:00
cuse Free all allocated unit IDs in cuse(3) after the client character 2019-06-25 11:46:01 +00:00
deadfs Switch to use shared vnode locks for text files during image activation. 2019-05-05 11:20:43 +00:00
devfs Rework v_object lifecycle for vnodes. 2019-08-29 07:50:25 +00:00
ext2fs ext2fs: Remove redundant brelse() after r294954 2019-09-06 08:07:12 +00:00
fdescfs Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
fifofs fcntl: fix overflow when setting F_READAHEAD 2019-06-20 23:07:20 +00:00
fuse Fix an off-by-one error from r351961 2019-09-16 16:41:01 +00:00
msdosfs buf: Add B_INVALONERR flag to discard data 2019-09-11 21:24:14 +00:00
nfs Delete the unused "nd" argument for nfsrv_checkdsattr(). 2019-09-04 22:37:28 +00:00
nfsclient nfscl_loadattrcache: fix rest of the cases to not call 2019-09-16 13:26:27 +00:00
nfsserver Delete the unused "nd" argument for nfsrv_proxyds(). 2019-09-05 22:25:19 +00:00
nullfs nullfs: reduce areas protected by vnode interlock in null_lock 2019-09-01 02:52:00 +00:00
procfs Plug memory disclosures via ptrace(2). 2018-12-03 20:54:17 +00:00
pseudofs Make pseudofs(9) create directory entries in order, instead 2019-09-14 19:16:07 +00:00
smbfs Rework v_object lifecycle for vnodes. 2019-08-29 07:50:25 +00:00
tmpfs vfs: convert struct mount counters to per-cpu 2019-09-16 21:37:47 +00:00
udf Rework v_object lifecycle for vnodes. 2019-08-29 07:50:25 +00:00
unionfs vfs: add VOP_NEED_INACTIVE 2019-08-28 20:34:24 +00:00