freebsd-skq/sys/fs/ext2fs
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
..
ext2_acl.c SPDX: Complete license IDs for ext2fs. 2017-12-02 17:22:55 +00:00
ext2_acl.h SPDX: Complete license IDs for ext2fs. 2017-12-02 17:22:55 +00:00
ext2_alloc.c ext2fs: Remove redundant brelse() after r294954 2019-09-06 08:07:12 +00:00
ext2_balloc.c ext2fs: Remove redundant brelse() after r294954 2019-09-06 08:07:12 +00:00
ext2_bmap.c Fix EXT2FS_DEBUG definition usage. 2018-05-13 19:19:10 +00:00
ext2_csum.c Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
ext2_dinode.h Revert r313780 (UFS_ prefix) 2018-03-17 12:59:55 +00:00
ext2_dir.h Split the dir_index and dir_nlink features. 2018-08-08 12:08:46 +00:00
ext2_extattr.c ext2fs: Remove redundant brelse() after r294954 2019-09-06 08:07:12 +00:00
ext2_extattr.h Add metadata_csum feature support. 2018-01-14 20:46:39 +00:00
ext2_extents.c ext2fs: Remove redundant brelse() after r294954 2019-09-06 08:07:12 +00:00
ext2_extents.h ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_extern.h ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_hash.c ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_htree.c ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_inode_cnv.c ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_inode.c Rework v_object lifecycle for vnodes. 2019-08-29 07:50:25 +00:00
ext2_lookup.c vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
ext2_mount.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ext2_subr.c ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
ext2_vfsops.c ext2fs: Remove redundant brelse() after r294954 2019-09-06 08:07:12 +00:00
ext2_vnops.c Avoid relying on header pollution from sys/refcount.h. 2019-07-29 20:26:01 +00:00
ext2fs.h Add additional on-disk inode checks. 2019-03-04 10:55:01 +00:00
fs.h ext2fs: Initial version of DTrace support. 2019-04-16 11:20:10 +00:00
htree.h Add metadata_csum feature support. 2018-01-14 20:46:39 +00:00
inode.h Revert r313780 (UFS_ prefix) 2018-03-17 12:59:55 +00:00