freebsd-dev/sys/fs/tmpfs
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
..
tmpfs_fifoops.c tmpfs: ignore tmpfs_set_status() if mount point is read-only. 2019-04-02 13:49:32 +00:00
tmpfs_fifoops.h sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00
tmpfs_subr.c vfs: convert struct mount counters to per-cpu 2019-09-16 21:37:47 +00:00
tmpfs_vfsops.c Fix an issue with executing tmpfs binary. 2019-08-18 20:36:11 +00:00
tmpfs_vnops.c Rework v_object lifecycle for vnodes. 2019-08-29 07:50:25 +00:00
tmpfs_vnops.h Rework pathconf handling for FIFOs. 2017-12-19 22:39:05 +00:00
tmpfs.h tmpfs: ignore tmpfs_set_status() if mount point is read-only. 2019-04-02 13:49:32 +00:00