freebsd-skq/sys/fs
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
..
autofs vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
cd9660 vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +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 vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
ext2fs vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
fdescfs vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
fifofs fcntl: fix overflow when setting F_READAHEAD 2019-06-20 23:07:20 +00:00
fuse vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
msdosfs Plug the rest of undef behavior places that were missed in r337456. 2019-10-11 18:37:02 +00:00
nfs Fix kernel handling of a NFSERR_MINORVERSMISMATCH NFSv4 server reply. 2019-12-08 00:06:00 +00:00
nfsclient vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
nfsserver vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
nullfs vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
procfs Define macro VM_MAP_ENTRY_FOREACH for enumerating the entries in a vm_map. 2019-10-08 07:14:21 +00:00
pseudofs vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
smbfs vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
tmpfs vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
udf Rework v_object lifecycle for vnodes. 2019-08-29 07:50:25 +00:00
unionfs vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00