freebsd-skq/sys/fs/devfs
mjg b1e239e6e2 vfs: change si_usecount management to count used vnodes
Currently si_usecount is effectively a sum of usecounts from all associated
vnodes. This is maintained by special-casing for VCHR every time usecount is
modified. Apart from complicating the code a little bit, it has a scalability
impact since it forces a read from a cacheline shared with said count.

There are no consumers of the feature in the ports tree. In head there are only
2: revoke and devfs_close. Both can get away with a weaker requirement than the
exact usecount, namely just the count of active vnodes. Changing the meaning to
the latter means we only need to modify it on 0<->1 transitions, avoiding the
check plenty of times (and entirely in something like vrefact).

Reviewed by:	kib, jeff
Tested by:	pho
Differential Revision:	https://reviews.freebsd.org/D22202
2019-11-20 12:05:59 +00:00
..
devfs_devs.c Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
devfs_dir.c r326394 is calling malloc with M_WAITOK under a lock, revert for now 2017-11-30 14:06:54 +00:00
devfs_int.h sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00
devfs_rule.c sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00
devfs_vfsops.c devfs: use MNTK_NOMSYNC 2019-10-13 15:41:47 +00:00
devfs_vnops.c vfs: change si_usecount management to count used vnodes 2019-11-20 12:05:59 +00:00
devfs.h sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00