Skip to content
  • Mateusz Guzik's avatar
    vfs: introduce v_irflag and make v_type smaller · abd80ddb
    Mateusz Guzik authored
    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
    abd80ddb