freebsd-skq/sys/ufs/ffs
Mateusz Guzik abd80ddb94 vfs: introduce v_irflag and make v_type smaller
The current vnode layout is not smp-friendly by having frequently read data
avoidably sharing cachelines with very frequently modified fields. In
particular v_iflag inspected for VI_DOOMED can be found in the same line with
v_usecount. Instead make it available in the same cacheline as the v_op, v_data
and v_type which all get read all the time.

v_type is avoidably 4 bytes while the necessary data will easily fit in 1.
Shrinking it frees up 3 bytes, 2 of which get used here to introduce a new
flag field with a new value: VIRF_DOOMED.

Reviewed by:	kib, jeff
Differential Revision:	https://reviews.freebsd.org/D22715
2019-12-08 21:30:04 +00:00
..
ffs_alloc.c Currently the breadn_flags() and getblkx() interfaces are passed 2019-12-03 23:07:09 +00:00
ffs_balloc.c ufs: Remove redundant brelse() after r294954 2019-09-06 08:08:33 +00:00
ffs_extern.h Update ffs_getcg() function to accept a flags parameter to be passed 2019-10-04 05:28:36 +00:00
ffs_inode.c vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
ffs_rawread.c vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
ffs_snapshot.c As part of creating a snapshot, set fs->fs_fmod to 0 in the snapshot image 2019-11-28 00:37:43 +00:00
ffs_softdep.c vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +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: add root vnode caching 2019-10-06 22:18:03 +00:00
ffs_vnops.c Currently the breadn_flags() and getblkx() interfaces are passed 2019-12-03 23:07:09 +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