freebsd-dev/sys/ufs/ffs
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
..
ffs_alloc.c ufs: Remove redundant brelse() after r294954 2019-09-06 08:08:33 +00:00
ffs_balloc.c ufs: Remove redundant brelse() after r294954 2019-09-06 08:08:33 +00:00
ffs_extern.h UFS: stop reusing the vnode for reallocated inode. 2019-08-29 07:45:23 +00:00
ffs_inode.c When updating the user or group disk quotas for the return of inodes or 2019-07-31 22:44:58 +00:00
ffs_rawread.c Allocate pager bufs from UMA instead of 80-ish mutex protected linked list. 2019-01-15 01:02:16 +00:00
ffs_snapshot.c ufs: Remove redundant brelse() after r294954 2019-09-06 08:08:33 +00:00
ffs_softdep.c vfs: convert struct mount counters to per-cpu 2019-09-16 21:37:47 +00:00
ffs_subr.c ufs: Remove redundant brelse() after r294954 2019-09-06 08:08:33 +00:00
ffs_suspend.c Avoid assertion in /dev/ufssuspend when the suspend ioctl is 2018-08-01 19:06:55 +00:00
ffs_tables.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ffs_vfsops.c ufs: Remove redundant brelse() after r294954 2019-09-06 08:08:33 +00:00
ffs_vnops.c FFS: allow sendfile(2) to work with block sizes greater than the page size 2019-02-26 04:56:10 +00:00
fs.h Clarify comment that describes how the FS_METACKHASH is managed. 2019-08-13 20:56:44 +00:00
softdep.h Convert use of UFS-specific #ifdef DEBUG to DIAGNOSTIC or INVARIANTS 2019-05-28 16:32:04 +00:00