HomeFreeBSD

vfs: introduce v_irflag and make v_type smaller
Audit RequiredrS355537

Description

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

Details

Group Auditors
Restricted Owners Package
Provenance
mjgAuthored on
Reviewer
kib
Differential Revision
D22715: vfs: introduce v_irflag and make v_type smaller
Parents
rS355536: vfs: clean up vputx a little
Branches
Unknown
Tags
Unknown